我有一个包含以下属性的模型:
[Required]
public string City { get; set; }
基本上,用户从下拉列表中选择存储的值。我的局部视图中的字段填充了相应的数据。在某些情况下,存储的数据不具有City的值。我试图使用jQuery检查如果该字段为空,基本上不需要该字段并允许提交。我尝试过以下方法:
$("#City").attr("data-val", "false");
$("#City").rules("remove", "required");
$("#City").attr("disabled", "disabled");
$("#City").attr("aria-required", "false");
$("#City").removeAttr("required");
这些都不起作用。在提交时,控制器中的正确方法是使用ModelState.IsValid为false并且错误表明" City字段是必需的。"
如何使用jQuery阻止在提交时验证此字段?
答案 0 :(得分:0)
在检查是否ModelState.IsValid
之前,您可以删除模型ModelState["City"].Errors.Clear();
的该属性上的错误。因此无论您的City
属性发生了什么错误,模型状态都将为有效。
注意,此修复程序应该应用于服务器上的控制器 - 它与jQuery无关。
答案 1 :(得分:0)
尽管海报提出了一些很好的建议,但我最终还是重新评估了我们的需求,发现该特定属性并不需要必需属性。
感谢大家的建议。