C# 多字段的MVC 3远程验证
我想验证三个字段中至少有一个不是空的。我正在尝试使用ASP.NET远程验证机制来实现这一点 我有以下型号:C# 多字段的MVC 3远程验证,c#,asp.net-mvc,asp.net-mvc-3,validation,remote-validation,C#,Asp.net Mvc,Asp.net Mvc 3,Validation,Remote Validation,我想验证三个字段中至少有一个不是空的。我正在尝试使用ASP.NET远程验证机制来实现这一点 我有以下型号: public class MyModel { public MyModel() { EmployeeIds = new List<int>(); ManagerIds= new List<int>(); } [Remote("AtLeastOne
public class MyModel
{
public MyModel()
{
EmployeeIds = new List<int>();
ManagerIds= new List<int>();
}
[Remote("AtLeastOneSelected", "Company", AdditionalFields = "EmployeeIds, ManagerIds")]
public int? SuperManagerId { get; set; }
public IEnumerable<int> EmployeeIds { get; set; }
public IEnumerable<int> ManagerIds{ get; set; }
}
但是没有用。我发现了问题。
已缓存第一次验证的结果。属性
[OutputCache(Location=OutputCacheLocation.None,NoStore=true)]
帮助 是否提出了远程验证请求?安装fiddler()并检查验证请求是否已发送…已检查。请求仅发送一次(在第一次编辑之后)。并且浏览器控制台中没有错误
public ActionResult AtLeastOneSelected(int supermanagerid, IEnumerable<int> employeeids, IEnumerable<int> managerids)
{
var isSuperManagerSelected = Request.Params["SuperManagerId"] != "null";
var isEmployeeSelected = Request.Params["EmployeeIds"] != "null";
var isManagerSelected = Request.Params["ManagerIds"] != "null";
return Json(isSuperManagerSelected || isEmployeeSelected || isManagerSelected, JsonRequestBehavior.AllowGet);
}
$('body').on('click', '#create-company', function () {
$("form").validate().form();
if ($("form").valid()) {
alert('valid');
$("form").submit();
} else {
alert('error');
}
});