【问题标题】:How do you reenable a validation control w/o it simultaneously performing an immediate validation?如何在不同时执行即时验证的情况下重新启用验证控件?
【发布时间】:2010-05-01 04:46:16
【问题描述】:

当我调用此函数从客户端 javascript 启用验证器时:

`ValidatorEnable(document.getElementById('<%=valPassportOtherText.ClientID%>'), true); //enable`  validation control

所需的验证控件立即执行验证,发现关联文本框中的值空白并将焦点设置到文本框(因为 SetFocusOnError 设置为 true)。结果,副作用是焦点转移到了与 Validation 控件关联的控件,例如 txtSpecifyOccupation。

                          <asp:TextBox ID="txtSpecifyOccupation" runat="server" AutoCompleteType="Disabled"
                                        CssClass="DefaultTextBox DefaultWidth" MaxLength="24" Rows="2"></asp:TextBox>
                                    <asp:RequiredFieldValidator ID="valSpecifyOccupation" runat="server" ControlToValidate="txtSpecifyOccupation"
                                        ErrorMessage="1.14b Please specify your &lt;b&gt;Occupation&lt;/b&gt;" 
                                        SetFocusOnError="True">&nbsp;Required</asp:RequiredFieldValidator>

也许有一种方法可以启用(必需的)验证器,而无需同时执行验证(至少在用户关闭它之前?)

我希望 txtSpecifyOccupation 文本框的验证仅在页面提交时或用户选择了所需的 txtSpecifyoccupation 文本框时进行。

我怎样才能做到这一点?

【问题讨论】:

    标签: asp.net javascript validation-controls


    【解决方案1】:

    不要调用 ValidatorEnable 方法。相反,获取对验证控件的引用并根据需要简单地设置其“启用”属性。

    要清除验证控件的错误文本,请将 innerText 属性设置为 ""。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 2015-04-21
      • 1970-01-01
      相关资源
      最近更新 更多