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

标签 javascript jquery asp.net-mvc unobtrusive-validation

在使用非侵入式验证的 ASP MVC 项目中,有没有办法从元素中动态删除 Required 属性?

该元素在 View 模型中用 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")

关于javascript - 在 ASP MVC 中动态删除元素的必需属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31466002/

相关文章:

javascript - 如何通过ajax和jquery在数据表中使用for循环为每一行添加按钮

c# - 使用表单例份验证的 ASP.NET MVC 应用程序

javascript - 通过 Jquery 或 knockout js 获取空 div 中的 html 元素

javascript - 我网页上的 JavaScript 在 IE 9 中无法运行是否有原因?

基于许多分隔字符的 jquery 子字符串

asp.net-mvc - 默认模型绑定(bind)抛出 "No paramaterless constructor defined for this object"

c# - ASP.NET MVC5 在 ListView 中获取所有注册的 AspNetUsers

javascript - 货币正则表达式,小数点允许为 0

javascript - 重新设计具有固定大小的站点

javascript - 有没有办法将 json 文件与所有其他 js 文件一起加载?