【问题标题】:ASP.Net MVC3 remote validation with multiple values具有多个值的 ASP.Net MVC3 远程验证
【发布时间】:2011-12-21 13:25:47
【问题描述】:

这篇 MSDN 文章讨论了使用删除验证来验证单个值....

http://msdn.microsoft.com/en-us/library/gg508808%28v=vs.98%29.aspx

特别是,模型属性被赋予属性,以便调用删除验证...

public class CreateUserModel : EditUserModel {
    [Required]
    [StringLength(6, MinimumLength = 3)]
    [Remote("IsUID_Available", "Validation")]
    [RegularExpression(@"(\S)+", ErrorMessage = "White space is not allowed.")]
    [Editable(true)]
    public override string UserName { get; set; }
}

我想要实现的是远程验证,其中考虑了许多字段。例如,我可能想以 Ajax 方式提交两个或三个字段并返回一个整体验证结果。

如何做到这一点?

【问题讨论】:

  • 如果您需要验证多个值,您不是在验证表单而不仅仅是一个字段吗?这些多个值是表单的一部分吗?
  • 是的,它们属于同一个表单。

标签: asp.net-mvc asp.net-mvc-3 validation


【解决方案1】:

您可以设置[Remote] 属性的AdditionalFields 属性,以便将其他属性值发送到操作。

[Remote("IsUID_Available", "Validation", AdditionalFields = "Email")]
public override string UserName { get; set; }

然后在你的控制器动作中:

public ActionResult IsUID_Available(string username, string email)
{
    ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    相关资源
    最近更新 更多