昨天我正在开发一个由另一个开发人员开发的界面。在这个界面上,我遇到了一个问题,当我点击更新按钮时,由于客户端验证(例如RequiredFieldValidator
或RegularExpressionValidator
等),它没有执行任何操作,并且没有关于验证失败了。
我不知道这个页面的编码,所以一个解决方案是我应该逐个删除验证器,或者可以将错误消息提供给所有验证。
我的问题是:有没有办法找出哪个验证失败了?
提前致谢。
答案 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
}
}