OnServerValidate not firing for custom validator RRS feed

  • Question

  • User1888916955 posted
    I am creating a webform thru xslt. There are no of textboxes and and reqfield validators , range validators etc inthe web form. All other controls are also working fine. All the validations for the requiredfield validator, range validator works fine.. Only the custom validator is not working .. OnServerValidate ="test" does not fire for the custom validator.
    This is the xslt

    <xsl:for-each select="validation/validator">
              <xsl:if test="@type='required'">
                <asp:RequiredFieldValidator ErrorMessage="{text}"  runat="server"
                  ControlToValidate="{$current_id}" ForeColor="{forecolor}"  Display="{display}"/>
              <xsl:if test="@type='compare'">
                <xsl:variable name="comparevalue">
                  <asp:value-of select="valuetocompare" />
                <asp:CompareValidator ErrorMessage="{text}" runat="server"
                  ControlToValidate="{$current_id}" ValueToCompare="{valuetocompare}" Operator="{operator}" ForeColor="{forecolor}"  Display="{display}"/>
              <xsl:if test="@type='range'">
                <asp:RangeValidator ErrorMessage="{text}" runat="server"
                  MaximumValue="{max}" MinimumValue="{min}" ControlToValidate="{$current_id}" Type="Integer"  ForeColor="{forecolor}"  Display="{display}"/>
              <xsl:if test="@type='custom'" >
                <asp:CustomValidator  ErrorMessage="{text}" runat="server" ControlToValidate="{$current_id}" OnServerValidate="test1"   ForeColor="{forecolor}" ValidateEmptyText="True" EnableClientScript="False" />

    I am checking page.validate on Page load

    if (IsPostBack)

    Could any help me find out what could be the reason the server side function is not working

    Monday, March 12, 2007 3:07 PM


  • User1806792307 posted
    A classic problem is that you test it with a blank textbox. WHen the ControlToValidate property is assigned, the customvalidator only fires if the textbox has text. If you need to test for that case, do not assign anything to ControlToValidate. Instead, use the actual name of the control in the evaluation function.
    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Monday, March 12, 2007 8:36 PM