10

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

我正在使用带有不显眼验证的 asp.net MVC 3。我的模型绑定了用于简单验证的数据注释(必填字段、正则表达式等)。但是,我在服务器上进行了更复杂的验证。我正在做一个 ajax 帖子,它返回来自我的域模型的验证添加消息。我要做的就是将这些验证消息放在表单上以代替现有的。我不想使用部分视图,因为我真正得到的只是返回的消息,并且不需要刷新整个视图。此外,我不会向表单添加新规则或新输入,因此 $.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}

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

4

1 回答 1

17

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

var validator = $("form").validate();
validator.showErrors({field : "Error Message"})
于 2011-06-15T06:09:29.307 回答