Question : How do I combine CustomValidators with RequiredFieldValidators and RegularExpressionValidators?


I'm having some issues trying to combine Custom, Required and Regex Validators on an ASP .Net page.

I have a simple text box on a ASP. Net page.
The control currently has  Custom Required and REgex validators associated with it.
My validation is not firing as expected.

I would like to:
1) Test for required field
2) Verify this is a valid numeric entry
3) Perform some special calculations to make sure the value is within a certain threshold.

Step (the custom validator is written in JScript and is included on the page).
I would like all validation to be completed on the client side.

If I remove my custom validator, then Validations 1 & 2 fire as expected.

If I put 3) back, then 1) & 2) do not fire. 3) only fires.

The problem with 3) is that even though it fires and detects invalid conditions, it does not
display the specified error message I've verified that args.IsValid is indeed getting set to false.
The above is true whether I include 1) & 2) or not.

Sample Code is as follows:

<asp:TextBox ID="txtAmount" Visible="true" runat="server" Width="100"
                 OnTextChanged="onTxtAmountChanged" AutoPostBack="true"/>

<asp:RequiredFieldValidator ID="reqIndividualAmount" runat="server" ControlToValidate="txtAmount" ForeColor=" "
      CssClass="error" ErrorMessage="Enter a valid amount" />

<asp:RegularExpressionValidator Display="Dynamic" ControlToValidate="txtAmount"                   
      ErrorMessage="Enter a valid amount" ValidationExpression="^\d+(\.\d(\d)?)?"
      runat="server" ID="reValidator" ForeColor=" " CssClass="error"/>

<asp:CustomValidator ID="cvTxtAmount" runat="server" ControlToValidate="txtAmount"  
                 ErrorMessage="Enter a value less than the maximum." ClientValidationFunction="validateAmount"            
                 OnServerValidate="OnValidateGLAmount" ForeColor=" " CssClass="error" />

<script language="javascript" type="text/javascript">
    function validateAmount(obj, args) {
        args.IsValid = (args.Value != null && args.Value != "");
        if (args.IsValid == true) {
            try {
/* always forcing to FALSE for testing */
                   args.IsValid = false;
            catch (e) { }

Answer : How do I combine CustomValidators with RequiredFieldValidators and RegularExpressionValidators?

The colour display schemes in XP are reached via the 'Personalization' and are now part of 'Themes'
Random Solutions  
programming4us programming4us