asp.net-mvc-3 - asp.net mvc 3 jquery 手动添加验证消息

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

我已经搜索了很长时间,但无法找到答案。

我正在使用带有不显眼验证的 asp.net MVC 3。我的模型绑定(bind)了用于简单验证的数据注释(必填字段、正则表达式等)。但是,我在服务器上进行了更复杂的验证。我正在做一个 ajax 帖子,它返回来自我的域模型的验证添加消息。我要做的就是将这些验证消息放在表单上以代替现有的。我不想使用部分 View ,因为我真正得到的只是返回的消息,并且不需要刷新整个 View 。此外,我不会向表单添加新规则或新输入,因此 $.validator.unobtrusive.parse 将不起作用。这些只是我想放在表格上的信息。 $.post 调用返回一个消息列表,其中字段受到/受到影响以及验证消息。

这就是我想要做的事情

 $.post(url, { someData}, function (data) {
         for (message in data.Messages) {
             $("#form").validate().addMessage(message.Field, message.Text);
         }
    });

谢谢你的帮助

根据请求,这是返回 JSON 的示例,它相当简单。
{"id":0,"messages":["Level":0,"Message":"Style is required","Name":"Style"}],"operationResult":false}

messages 是一个对象列表,其中包含严重性级别、错误所属的属性和错误消息。我会使用消息对象中的名称来匹配表单上所需的位置。

最佳答案

我有完全相同的要求,我实际上找到了以下方法。

var validator = $("form").validate();
validator.showErrors({field : "Error Message"})

关于asp.net-mvc-3 - asp.net mvc 3 jquery 手动添加验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048711/

相关文章:

asp.net-mvc-3 - MVC 4 - 如何关闭默认的 Error.vbhtml 页面?

特定主机上的 ASP.Net 自定义错误

c# - 将 AjaxOnlyAttribute 和 ChildActionOnlyAttribute 合并到一个 Action 过滤器中

javascript - jQuery 验证方法永远不会被调用

asp.net-mvc-3 - AZURE ACS - Windows Live ID - 如何获取经过身份验证的用户的电子邮件和姓名?

单击按钮期间 jQuery 验证不起作用

jquery - 如何使用 jquery-validate 验证数组输入

validation - MVC 3为远程验证指定验证触发器

javascript - 字段数组的 JQuery 不显眼验证 - 仅连接到第一个字段?

javascript - 防止通过手动验证提交表单