【问题标题】:ASP MVC Remote Validation Removing AreaASP MVC 远程验证移除区域
【发布时间】:2014-08-26 07:03:05
【问题描述】:

我有以下型号:

public class UserModel 
{
   [Required]
   public String Name {get; set; }

   [Required]
   public String Surname {get; set; }

   [Required]
   [Remote("ValidateIdNumber", "CustomValidation", "", ErrorMessage = "Invalid ID")]
   public String IDNumber {get; set; }
}

我有一个创建用户表单,它是管理区域。所以它是“/Admin/User/Create”。

我的“ValidateIdNumber”操作位于控制器“CustomValidation”的根目录中 因此,要访问它,您需要转到“/CustomValidation/ValidateIdNumber”

public Boolean ValidateIdNumber(String IDNumber) {
     //Validate ID number and return result.
}

问题是当表单被创建时,远程验证的目标是“/Admin/CustomValidation/ValidateIdNumber”。

<input class="text-box single-line" data-val="true" data-val-remote="Invalid ID" data-val-remote-additionalfields="*.IDNumber" data-val-remote-url="/Admin/CustomValidation/ValidateIdNumber" data-val-required="Please provide a ID Number" id="IDNumber" name="IDNumber" type="text" value="">

如何删除该区域?我尝试将 Remote 属性中的 area 参数设为空字符串(“”)和 null。

有什么想法吗?我想尝试将我的验证保留在根而不是区域。

【问题讨论】:

  • 如果只排除第三个参数会发生什么? [Remote("ValidateIdNumber", "CustomValidation", ErrorMessage = ...
  • 我得到了同样的结果
  • ASP.NET MVC 3 Remote Validation 的可能重复项
  • 是的,我刚刚看了约翰的链接

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


【解决方案1】:

您可以编写自定义远程属性,请参见此处:

ASP.NET MVC 3 Remote Validation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 2011-12-25
    • 2011-01-28
    相关资源
    最近更新 更多