Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态删除元素';ASP MVC中的s必需属性?_Javascript_Jquery_Asp.net Mvc_Unobtrusive Validation - Fatal编程技术网

Javascript 动态删除元素';ASP MVC中的s必需属性?

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 = $

在使用不引人注目的验证的ASP MVC项目中,是否有一种方法可以动态地从元素中删除所需的属性

该图元在视图模型中用所需的注释进行装饰。我想我可以通过使用JQuery删除html属性“datavalrequired”来删除这个元素,但是客户端验证仍然按照需要处理该元素。是否不可能通过操纵不引人注目的验证属性来操纵元素的验证

这是我试过的,但没用。如果复选框未选中,我想删除所需的属性

$("#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,它对我有效。我只是想了解更多关于不引人注目的验证是如何工作的。成功!!非常感谢。非常标准、整洁和干净的方法。感谢您的贡献!请添加解释,特别是与其他答案相比的区别和好处。