【发布时间】:2012-05-02 16:33:54
【问题描述】:
我有一个复杂的表单,要求我根据用户的选择打开或关闭特定的验证器。
ValidatorEnable 似乎可以完成这项工作,但似乎当我调用此方法时,它实际上也会触发验证过程,而无需用户实际点击提交按钮。
它是这样工作的吗?
【问题讨论】:
-
最佳问题对我帮助很大:)
标签: javascript asp.net validation
我有一个复杂的表单,要求我根据用户的选择打开或关闭特定的验证器。
ValidatorEnable 似乎可以完成这项工作,但似乎当我调用此方法时,它实际上也会触发验证过程,而无需用户实际点击提交按钮。
它是这样工作的吗?
【问题讨论】:
标签: javascript asp.net validation
我最终发现最好的方法是使用以下代码:
var validatorObject = document.getElementById('<%=ValidHasShippingLocationZip.ClientID%>');
validatorObject.enabled = false;
validatorObject.isvalid = true;
ValidatorUpdateDisplay(validatorObject);
【讨论】:
validatorObject,也许您应该使用console.log(validatorObject) 来查看是否正确找到了元素。
Page.Isvalid 仍然返回 false(我的意思是在代码隐藏方面)
我写了一些代码似乎可以满足您的要求。 迭代验证器并启用您需要的这些。
ValidatorEnable(validatorObj, true);
然后清屏,清除错误信息。
完整的代码 sn-p 可以在这里找到http://codelife.cybtamin.com/enable-and-disable-asp-net-validator-by-javascript/
【讨论】:
ValidatorEnable(valObj, enable) 现在是 .NET 样板代码的一部分,因此无需额外代码即可使用此示例。