asp.net 使用 Javascript 禁用/启用验证器

Posted

技术标签:

【中文标题】asp.net 使用 Javascript 禁用/启用验证器【英文标题】:asp.net disable/enable validator using Javascript 【发布时间】:2012-05-02 16:33:54 【问题描述】:

我有一个复杂的表单,要求我根据用户的选择打开或关闭特定的验证器。

ValidatorEnable 似乎可以完成这项工作,但似乎当我调用此方法时,它实际上也会触发验证过程,而无需用户实际点击提交按钮。

它是这样工作的吗?

【问题讨论】:

最佳问题对我帮助很大:) 【参考方案1】:

我最终发现最好的方法是使用以下代码:

var validatorObject = document.getElementById('<%=ValidHasShippingLocationZip.ClientID%>');
validatorObject.enabled = false;
validatorObject.isvalid = true;
ValidatorUpdateDisplay(validatorObject);

【讨论】:

它起作用了,我没有使用 isvalid 属性,我只使用了启用或禁用 优秀的答案帮助了我很多! 为什么我仍然能够提交我的 asp.net 表单,而上述功能适用于我的验证器并显示/隐藏验证器?我在后面的代码中没有使用 isValid! @DKR 确保您找到正确的validatorObject,也许您应该使用console.log(validatorObject) 来查看是否正确找到了元素。 它有效,但有 1 个问题,Page.Isvalid 仍然返回 false(我的意思是在代码隐藏方面)【参考方案2】:

我写了一些代码似乎可以满足您的要求。 迭代验证器并启用您需要的这些。

   ValidatorEnable(validatorObj, true);

然后清屏,清除错误信息。

完整的代码 sn-p 可以在这里找到http://codelife.cybtamin.com/enable-and-disable-asp-net-validator-by-javascript/

【讨论】:

不要只发布链接,链接会死。 ValidatorEnable(valObj, enable) 现在是 .NET 样板代码的一部分,因此无需额外代码即可使用此示例。

以上是关于asp.net 使用 Javascript 禁用/启用验证器的主要内容,如果未能解决你的问题,请参考以下文章

使用 javascript 和 asp.net 启用和禁用按钮

asp.net c#.net jquery / javascript 如何使用复选框启用或禁用 requiredfieldvalidator

asp.net 使用 Javascript 禁用/启用验证器

检测何时在 ASP.NET 中禁用 JavaScript

检测ASP.NET中禁用JavaScript的时间

使用来自javascript的动态ID启用/禁用Telerik asp.net组合框