Я хотел бы подтвердить, что хотя бы одно из трех полей не пусто. Я пытаюсь сделать это, используя механизм проверки достоверности ASP.NET.Удаленная проверка MVC 3 для нескольких полей
У меня есть следующие модели:
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; }
}
Контроллер:
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);
}
EmployeeIds и ManagerIds реализуются на представлении с использованием MULTISELECT. Он был проверен один раз, когда я впервые модифицировал SuperManagerId. И когда я пытаюсь изменить его снова или даже отправить свою форму, удаленная проверка не работает.
Я пытался заставить проверки на представлении:
$('body').on('click', '#create-company', function() {
$("form").validate().form();
if ($("form").valid()) {
alert('valid');
$("form").submit();
} else {
alert('error');
}
});
, но это не помогло.
Является ли запрос удаленной проверки даже выполненным? Установите fiddler (http://fiddler2.com) и проверьте, отправлен ли запрос на проверку ... – Marko
Проверено. Запрос отправляется только один раз (после первого редактирования). И ошибок в консоли браузера нет. –