ASP MVC远程验证删除区域

时间:2014-08-26 07:03:05

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

我有以下型号:

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区域。所以它是“/ 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。

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

1 个答案:

答案 0 :(得分:1)

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

ASP.NET MVC 3 Remote Validation