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

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

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

它是这样工作的吗?

【问题讨论】:

  • 最佳问题对我帮助很大:)

标签: javascript asp.net validation


【解决方案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 样板代码的一部分,因此无需额外代码即可使用此示例。
猜你喜欢
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
  • 2011-01-23
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多