我已经搜索了很长一段时间但未能找到答案。
我使用asp.net MVC 3进行不显眼的验证。我的模型与数据注释绑定,用于简单验证(必填字段,正则表达式等)。但是,我在服务器上进行了更复杂的验证。我正在做一个ajax帖子,它返回来自我的域模型的验证add'l消息。我想要做的就是将表单上的验证消息放在现有表单的位置。我不想使用部分视图,因为我真正得到的是消息回来,并且不需要刷新整个视图。另外,我没有在表单中添加新规则或新输入,因此$ .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是包含严重性级别,错误所属属性和错误消息的对象列表。我会使用messages对象中的名称来匹配表单上的所需位置。
答案 0 :(得分:15)
我有完全相同的要求,我实际上找到了以下方法。
var validator = $("form").validate();
validator.showErrors({field : "Error Message"})