0

所以这就是问题所在:我有一个表单和一个属性,[RequiredAttribute]初始时它被隐藏在表单上。有一个复选框。当它被点击时,它会显示元素。所以我只想在它没有隐藏时验证属性,但是当它发送模型到控制器时提交时我仍然看到 ModelState.IsValid == false(虽然元素它是隐藏的)所以当元素隐藏时如何删除与属性相关的所有错误(在javascript中,在浏览器将模型发送到控制器之前)?

修改$('form').validate().errorList无济于事

当然,我可以有一个布尔标志(isHidden或其他东西)并根据该标志在控制器上手动检查模型。但也许有更简单的方法来修改客户端上的验证属性,也许它们会以某种方式影响模型?

4

1 回答 1

1

尝试

<script type="text/javascript">
    $.validator.setDefaults({
        ignore: ""
    })
</script>

或者您可以考虑制作自定义验证器。

这个答案可能会有所帮助

于 2013-04-12T19:45:01.903 回答