Javascript 动态删除元素';ASP MVC中的s必需属性?
在使用不引人注目的验证的ASP MVC项目中,是否有一种方法可以动态地从元素中删除所需的属性 该图元在视图模型中用所需的注释进行装饰。我想我可以通过使用JQuery删除html属性“datavalrequired”来删除这个元素,但是客户端验证仍然按照需要处理该元素。是否不可能通过操纵不引人注目的验证属性来操纵元素的验证 这是我试过的,但没用。如果复选框未选中,我想删除所需的属性Javascript 动态删除元素';ASP MVC中的s必需属性?,javascript,jquery,asp.net-mvc,unobtrusive-validation,Javascript,Jquery,Asp.net Mvc,Unobtrusive Validation,在使用不引人注目的验证的ASP MVC项目中,是否有一种方法可以动态地从元素中删除所需的属性 该图元在视图模型中用所需的注释进行装饰。我想我可以通过使用JQuery删除html属性“datavalrequired”来删除这个元素,但是客户端验证仍然按照需要处理该元素。是否不可能通过操纵不引人注目的验证属性来操纵元素的验证 这是我试过的,但没用。如果复选框未选中,我想删除所需的属性 $("#chkTempHire").click(function () { var checked = $
$("#chkTempHire").click(function () {
var checked = $(this).attr("checked");
var attr = $("#txtTempHireEndDate").attr("data-val-required");
var hasAttr = false;
if (typeof attr !== typeof undefined && attr !== false)
hasAttr = true;
if (!checked && hasAttr)
$("#txtTempHireEndDate").removeAttr("data-val-required");
});
我是错过了什么,还是根本不可能
谢谢大家! 您必须重新验证表单 只需从表单中调用validate函数,如下所示:
$('#FormId').valid();
您还可以验证已删除属性的控件:
$('#txtTempHireEndDate').valid();
您可以在jquery.validate中使用rules函数
$("..").rules("add",....)
$("..").rules("remove",...)
您可以使用jQuery中内置的
.rules()
方法,无需手动删除属性
删除:
$("#txtTempHireEndDate").rules("remove", "required")
加上:
$("#txtTempHireEndDate").rules("add", "required")
$(“#dailyFlow”).removeAttr('data-val-required') 一种解决方案是使用MVC,它允许您使用属性,例如
RequiredIf
。您需要的是条件验证,例如:谢谢,我正在使用FluentValidation,它对我有效。我只是想了解更多关于不引人注目的验证是如何工作的。成功!!非常感谢。非常标准、整洁和干净的方法。感谢您的贡献!请添加解释,特别是与其他答案相比的区别和好处。