ASP.NET:如何在调用Page_ClientValidate后“重置”验证

时间:2010-01-13 17:57:01

标签: asp.net javascript validation jquery-dialog

我有一个带有jQuery对话框的ASP.NET页面,该对话框用于更改某些数据。我正在设置jQuery对话框,以便当用户单击OK按钮时它调用ASP.NET的

Page_ClientValidate('validationGroup')通过javascript,查找所有无效控件并更改其CSS类。所以这是场景:用户打开对话框,键入一些无效数据,单击“确定”(接收验证消息),然后单击“取消”。

现在对话框已关闭,但验证消息仍然存在,因此当它们再次打开对话框时,数据将恢复到最初的状态,但表单仍处于无效状态(验证消息)仍在显示)。

我需要的是在调用Page_ClientValidate('validationGroup')后调用的“重置”功能。这是否存在?

4 个答案:

答案 0 :(得分:2)

为什么不在对话框中输入a并使用取消重置按钮

<input type="reset" value="Cancel" />

修改

如果您的对话框控件已经重置,请在打开对话框时重新验证。

答案 1 :(得分:1)

您可以调用客户端函数ValidatorValidate(validatorObj)以强制验证在特定验证器上再次触发。如果您将表单值重置(清除)为验证器期望的默认值,然后触发它们上的ValidatorValidate函数,您应该没问题。请参阅documentation here

答案 2 :(得分:1)

  1. 为验证人提供顺序ID,例如validator1,validator2等。

  2. 运行以下javascript代码以隐藏错误消息:

    var n = 0;
    var z = '';
    
    for (var i = 0; i < Page_Validators.length; i++) {
        n += 1;
        z = 'ctl00_MainContent_validator' + n;
        document.getElementById(z).style.visibility = 'hidden';
    }
    

    这将循环验证器并隐藏以前显示的任何错误消息。

  3. 当按下提交按钮时,验证器将再次执行操作并再次显示错误消息,以便进行任何失败的验证。

  4. 瞧。

答案 3 :(得分:0)

为什么不在用户点击取消时删除验证消息?