在 ASP MVC 中动态删除元素的必需属性?
dynamically remove an element's required attribute in ASP MVC?
有没有办法在 ASP MVC 项目中使用不显眼的验证从元素中动态删除 Required 属性?
该元素在视图模型中用 Required 注释装饰。我想我可以通过删除 html 属性、"data-val-required," 和 JQuery 来删除它,但客户端验证仍然根据需要处理该元素。是不是不能通过操纵不显眼的验证属性来操纵元素的验证?
这是我试过的方法,但没有用。如果未选中复选框,我想删除必需的属性。
$("#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");
});
我是不是遗漏了什么,还是根本不可能?
谢谢!
您必须重新验证表格。
只需从表单调用验证函数,如下所示:
$('#FormId').valid();
您还可以验证已删除属性的控件:
$('#txtTempHireEndDate').valid();
您可以在jquery.validate
中使用规则功能
$("..").rules("add",....)
$("..").rules("remove",...)
可以使用jQuery内置的.rules()
方法,不需要手动删除属性。
要删除:
$("#txtTempHireEndDate").rules("remove", "required")
添加:
$("#txtTempHireEndDate").rules("add", "required")
$("#dailyFlow").removeAttr('data-val-required');
有没有办法在 ASP MVC 项目中使用不显眼的验证从元素中动态删除 Required 属性?
该元素在视图模型中用 Required 注释装饰。我想我可以通过删除 html 属性、"data-val-required," 和 JQuery 来删除它,但客户端验证仍然根据需要处理该元素。是不是不能通过操纵不显眼的验证属性来操纵元素的验证?
这是我试过的方法,但没有用。如果未选中复选框,我想删除必需的属性。
$("#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");
});
我是不是遗漏了什么,还是根本不可能?
谢谢!
您必须重新验证表格。
只需从表单调用验证函数,如下所示:
$('#FormId').valid();
您还可以验证已删除属性的控件:
$('#txtTempHireEndDate').valid();
您可以在jquery.validate
中使用规则功能$("..").rules("add",....)
$("..").rules("remove",...)
可以使用jQuery内置的.rules()
方法,不需要手动删除属性。
要删除:
$("#txtTempHireEndDate").rules("remove", "required")
添加:
$("#txtTempHireEndDate").rules("add", "required")
$("#dailyFlow").removeAttr('data-val-required');