启用/禁用使用 JQuery 禁用输入的 ASP.NET Web 表单所需的验证器?

Posted

技术标签:

【中文标题】启用/禁用使用 JQuery 禁用输入的 ASP.NET Web 表单所需的验证器?【英文标题】:Enable/Disable ASP.NET Web Forms Required Validator for disabled inputs using JQuery? 【发布时间】:2018-01-13 21:41:44 【问题描述】:

我正在使用 Web 表单验证器来防止用户将所需的输入留空,但在我的表单中,某些输入在某些情况下可能会被禁用,并且需要禁用对此文本框和下拉列表的验证。我尝试使用 JQuery 并删除一些禁用验证的属性,例如:

禁用

$("#VDrpLeaveKind").css("visibility", "hidden").attr("data-val-enabled", false);

启用

$("VDrpLeaveKind").removeAttr("data-val-enabled").css("visibility", "visible");

禁用输入时有效,但点击提交按钮后,会再次出现验证错误消息。有验证码:

<span data-val-controltovalidate="DrpLeaveKind" data-val-errormessage="error message" data-val-validationgroup="vacation" id="VDrpLeaveKind" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="0" style="color:Red;font-size:Smaller;visibility:hidden;">error message</span>

我尝试了一些其他方法,例如更改validationgroup,或使用Causevalidation,但没有。如果需要更多信息,请通知我。提前谢谢你。

【问题讨论】:

【参考方案1】:

如果您想启用/禁用验证器客户端,您需要调用 ValidatorEnable 并将其传递给验证器控件,然后传递一个布尔值来启用/禁用它:

ValidatorEnable(requiredFieldValidator, false);

参考link。

【讨论】:

它对我有用,但 javascript Intellisense 不包含 ValidatorEnable 最好的选择是禁用验证使用ValidatorEnable(requiredFieldValidator, false);并启用使用$("Input")[0].enabled = true;

以上是关于启用/禁用使用 JQuery 禁用输入的 ASP.NET Web 表单所需的验证器?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 启用/禁用特定“验证组”中的 asp.net 验证控件?

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

Jquery 启用和禁用 Asp.net 按钮

使用 jquery 切换 LinkBut​​ton 的启用/禁用状态

使用 jQuery 禁用/启用输入?

jQuery 禁用启用按钮样式