0

我有以下模型:

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。

有任何想法吗?我想尝试将我的验证保留在根目录而不是区域。

4

1 回答 1

1

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

ASP.NET MVC 3 远程验证

于 2014-08-26T07:09:18.153 回答