所以这就是问题所在:我有一个表单和一个属性,[RequiredAttribute]
初始时它被隐藏在表单上。有一个复选框。当它被点击时,它会显示元素。所以我只想在它没有隐藏时验证属性,但是当它发送模型到控制器时提交时我仍然看到 ModelState.IsValid == false
(虽然元素它是隐藏的)所以当元素隐藏时如何删除与属性相关的所有错误(在javascript中,在浏览器将模型发送到控制器之前)?
修改$('form').validate().errorList
无济于事
当然,我可以有一个布尔标志(isHidden
或其他东西)并根据该标志在控制器上手动检查模型。但也许有更简单的方法来修改客户端上的验证属性,也许它们会以某种方式影响模型?