【发布时间】: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 asp.net-mvc asp.net-mvc-validation remote-validation