【问题标题】:How do I use server side validation with an AJAX post?如何通过 AJAX 帖子使用服务器端验证?
【发布时间】:2010-06-19 15:42:47
【问题描述】:

在他的博文中,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; }
}

在这篇博文的 cmets 中@Ke 写道:

服务器端验证如何与 ajax post 一起工作?即,如何将验证错误发送回客户端?

Scott 回复:

是的 - 你可以处理这个。我相信 Phil Haack 很快就会将它列入他的博客列表。

我找不到这篇博文。如何将服务器端验证与 AJAX 帖子结合起来?

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

【问题讨论】:

    标签: asp.net-mvc data-annotations


    【解决方案1】:

    数据注释验证的工作方式是将特殊的 css 类应用于包含错误的字段,错误消息由生成相应 div 的 html 助手显示。因此,确实最好的选择是返回包含允许您显示错误消息的表单的部分视图。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多