在他的博客文章中,Scott Guthrie描述了如何enable validation using DataAnnotations。
示例:
public class Product
{
[Display(Name="Product Number")]
[Range(0, 5000)]
public int ProductID { get; set; }
[Display(Name="Name")]
[Required]
public string ProductName { get; set; }
[Display(Name="Price")]
[DataType(DataType.Currency)]
public double ListPrice { get; set; }
}
在这篇博文的评论中@Ke写道:
斯科特回答说:服务器端验证如何与ajax帖子一起使用?即,如何将验证错误发送回客户端?
是的 - 你可以解决这个问题。我相信Phil Haack很快会在他的名单上发表博客。
我找不到这篇博文。如何将服务器端验证与AJAX帖子结合起来?
我见过的最佳选项似乎涉及使用partials将表单发送回客户端。我宁愿使用客户端Javascript来启用错误消息。
答案 0 :(得分:0)
数据注释验证的工作方式是将特殊的css类应用于包含错误的字段,并通过生成相应div的html助手显示错误消息。所以最好的选择是返回一个包含表单的部分视图,允许您显示错误消息。
如果您想使用JSON
或XML
,则必须在响应结构中手动传递验证错误,并在成功回调中使用javascript手动处理。
就客户端验证而言,它会起作用,因为如果验证失败,表单将不会被提交(使用ajax或不使用)。