C# 多字段的MVC 3远程验证

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

我想验证三个字段中至少有一个不是空的。我正在尝试使用ASP.NET远程验证机制来实现这一点

我有以下型号:

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');
    }
});