修改客户端上的ModelState

时间:2013-04-12 19:27:06

标签: asp.net-mvc-3 validation jquery-validate

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

修改$('form').validate().errorList没有帮助

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

1 个答案:

答案 0 :(得分:1)

尝试

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

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

THIS answer可能有所帮助