如何知道哪个验证失败?

时间:2014-07-09 05:00:32

标签: c# asp.net .net asp.net-mvc

昨天我正在开发一个由另一个开发人员开发的界面。在这个界面上,我遇到了一个问题,当我点击更新按钮时,由于客户端验证(例如RequiredFieldValidatorRegularExpressionValidator等),它没有执行任何操作,并且没有关于验证失败了。

我不知道这个页面的编码,所以一个解决方案是我应该逐个删除验证器,或者可以将错误消息提供给所有验证。

我的问题是:有没有办法找出哪个验证失败了?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用ModelState.Values

MSDN:返回一个ValueProviderResult对象,该对象封装了在模型绑定期间绑定的值。

    [HttpPost]
    public ActionResult Index(MyModel model)
    {
        // You can see here reason for fail
        var errors = ModelState.Values.SelectMany(v => v.Errors); 

        if (ModelState.IsValid)
        {
            //other stuff
        }
    }