【问题标题】:How disable RequiredFieldValidator in script如何在脚本中禁用RequiredFieldValidator
【发布时间】:2023-03-28 14:55:01
【问题描述】:

我的页面上有带有RequiredFieldValidator 的TextBox。 我也有调用一些简单 javascript 的链接。

<asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator
ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBox1"
Display="Dynamic" /> 
<asp:LinkButton   ID="Link1" runat="server" OnClientClick="DoSomething(); return false;" CausesValidation="false"Text="Do" />

function DoSomething() {
textbox1.val("blah"); }

当用户在文本框中输入内容然后删除该文本并聚焦下一个控件时 - 然后验证器会触发。 然后用户可以使用使用 javascript 添加文本的链接。 TextBox1 文本不再为空,但RequiredFieldValidator 仍显示错误消息。如何预防?

【问题讨论】:

    标签: javascript asp.net validation


    【解决方案1】:

    验证器的全部意义在于它们将用于服务器端客户端验证。

    如果您只想在服务器端进行验证,请不要使用验证器,只需检查值是否有效并报告错误即可。

    【讨论】:

    • 我希望验证发生在客户端。看看 DoSomething() 将文本添加到 TextBox1 但 ValidationError 仍然显示错误消息并混淆用户。
    【解决方案2】:

    你可以使用javascriptValidatorEnable函数

    ValidatorEnable(document.getElementById('<%= ValidatorID.ClientID %>'), true);
    

    【讨论】:

      【解决方案3】:

      我会在这里推荐CustomValidator,因为您不希望正常的RequiredFieldValidator 行为。 CustomValidator 客户端方法只会在回发时运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多