繁体   English   中英

动态删除ASP MVC中元素的必需属性?

[英]dynamically remove an element's required attribute in ASP MVC?

在使用不显眼验证的ASP MVC项目中,是否有一种方法可以动态地从元素中删除Required属性?

元素在视图模型中使用Required注释进行修饰。 我想我可以通过使用JQuery删除html属性“data-val-required”来删除它,但客户端验证仍然会根据需要处理该元素。 是否无法通过操纵不显眼的验证属性来操纵元素的验证?

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

$("#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");
});

我错过了什么,还是不可能?

谢谢!

您可以使用jQuery中内置的.rules()方法,您不需要手动删除属性。

去除:

$("#txtTempHireEndDate").rules("remove", "required")

加上:

$("#txtTempHireEndDate").rules("add", "required")

你可以在jquery.validate中使用rules函数

$("..").rules("add",....)
$("..").rules("remove",...)

http://jqueryvalidation.org/rules

您必须重新验证表单。

只需从表单中调用validate函数,如下所示:

$('#FormId').valid();

您还可以验证已删除属性的控件:

$('#txtTempHireEndDate').valid();

$( “#dailyFlow”)removeAttr( '数据-VAL-所需');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM