我有@ Html.ValidationMessageFor帮助器和jquery不显眼的验证设置的剃刀视图。
我想调用控制器/操作并通过使用已经设置的相同验证逻辑来显示操作返回的最终模型状态错误。
我已经制作了一些代码,但是我想知道是否已经有办法自动完成,即如果我将HTTP错误请求捕获为AJAX响应,我想从响应体和插件中取出模型状态错误他们进行不引人注目的验证。
我正在寻找完整的推荐解决方案,而不是解决方法:)
谢谢!
答案 0 :(得分:18)
您可以使用Json
结果(How to get all Errors from asp.net mvc modelState?)返回错误:
var allErrors = ModelState.Values.SelectMany(v => v.Errors);
然后手动显示错误。获取表单验证器:
var validator = $("form").validate();
然后检查您的字段是否已正确初始化,例如您可以在此处查看(可选步骤):
validator.settings.rules
OR
validator.settings.messages
如果一切正常,那么您可能会显示错误:
validator.showErrors({"Password": "Too simple!"});
Password
是字段名称,Too simple!
是错误消息。