skip to content
Twitter feed logo
  • 22 September 2008

    The Three Steps of Building an ASP.NET Validator Control

    Credit Card Number ASP.NET Validator

    The standard ASP.NET validator controls such as the RequiredFieldValidator or the RegularExpressionValidator do not cover all validation requirements, so usually developers tend to create a CustomValidator for such scenarios.

    A major problem with the CustomValidator is reusability, as if you wanted to use the validator in another project then there would be some copying and pasting and code duplication, then you have to maintain multiple versions of the same control.

    The solution, as you have guessed from the title, is to build your own validator control when possible to promote reusability.

    In this post I will be showing you in three simple steps how to build an ASP.NET validator control and take credit card number format check to show by example. I will also be building the architecture so that your validator and other validators that you will develop in the future could be as reusable as possible.

    How to Check a Credit Card Format

    Luhn check is an algorithm that checks if a credit card number is valid (format wise), so in practice, before you even think of doing any further processing on the credit card, this check should be satisfied.

    Read the rest of this entry »

  • 11 February 2008

    Session Keep-Alive Web Control

    Visual Studio project structure overview

    Session expiration in ASP.NET is a nasty problem. Imagine yourself filling a long form, hitting submit then boom you get the login page! That happened to me before and probably happened to you.

    This problem doesn’t have an out-of-box solution in ASP.NET and there are different appraoches to solve it.

    1. Increasing the session time out. Probably you are aware of the cons of this problem which are mainly consuming more server resources.
    2. Having an image or an iframe that refreshes regularly and requests the server. This approach is a per page approach and you can select the pages to implement it on.

    Personally, I’ve been using the second approach for a long time and didn’t have any problem with it. However, I made it more reusable, not to mention “cleaner”, by making it a web control.

    If you are just interested in using the control then you can skip to the last section “Using the Control.”

    Read the rest of this entry »