Asp.net mvc 如何在AJAX帖子中使用服务器端验证?
斯科特·古思里(Scott Guthrie)在他的博客文章中描述了如何实现这一目标 例如:Asp.net mvc 如何在AJAX帖子中使用服务器端验证?,asp.net-mvc,data-annotations,Asp.net Mvc,Data Annotations,斯科特·古思里(Scott Guthrie)在他的博客文章中描述了如何实现这一目标 例如: public class Product { [Display(Name="Product Number")] [Range(0, 5000)] public int ProductID { get; set; } [Display(Name="Name")] [Required] public string ProductName { get; set;
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 post?i、 如何将验证错误发送回客户端
斯科特回答说:
是的,你可以处理。我相信菲尔·哈克(Phil Haack)很快就会在他的博客上写下这件事
但是我找不到这篇博文。如何将服务器端验证与AJAX post结合起来
我见过的最好的选择似乎是使用partials将表单发送回客户机。我宁愿使用客户端Javascript来启用错误消息。数据注释验证的工作方式是对包含错误的字段应用特殊的css类,错误消息由生成相应div的html帮助程序显示。因此,最好的选择是返回一个包含表单的局部视图,允许您显示错误消息 如果您想使用
JSON
或XML
,则必须在响应结构中手动传递验证错误,并在成功回调中使用javascript手动处理
就客户端验证而言,它将起作用,因为如果验证失败,表单将不会提交(使用ajax或不使用ajax)