2010-06-19 49 views
1

在他的博客文章中,Scott Guthrie介绍了如何enable validation using DataAnnotations如何在AJAX文章中使用服务器端验证?

例子:

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文章结合起来?

我见过的最佳选择似乎涉及使用partials将表单发送回客户端。我宁愿使用客户端JavaScript来启用错误消息。

回答

0

数据注释验证的工作方式是通过将特殊css类应用于包含错误的字段,并且错误消息由生成相应div的html助手显示。所以最好的选择是返回包含表单的部分视图,以便显示错误消息。

如果您想要使用JSONXML,您必须在响应结构中手动传递验证错误,并在成功回调中使用javascript手动处理。

就客户端验证而言,它将起作用,因为如果验证失败,表单将不会被提交(使用ajax或不)。