У меня есть проект ASP.NET MVC 2, в котором я создал объект передачи данных для получения данных из формы веб-страницы. На форме есть две группы флажков. Я хочу проверить объект, чтобы убедиться, что установлен хотя бы один из флажков в каждой группе.
Я выполняю проверку на стороне сервера, чтобы пользователь не смог взломать ни один клиент боковая проверка. (Позже я добавлю проверку на стороне клиента с помощью jQuery; это просто. )
Я понимаю, что мне нужно создать свой собственный атрибут ValidationAttribute для моего класса объектов передачи данных, но я не понимаю, как создать и использовать атрибут, который может принимать произвольный список свойств флажков, чтобы убедиться, что хотя бы одна из них верна. Я предполагаю, что мне придется вызывать атрибуты следующим образом:
[AtLeastOneCheckbox("set1check1", "set1check2", "set1check3",
ErrorMessage = "You must check at least one checkbox in set 1.")]
[AtLeastOneCheckbox("set2check1", "set2check2", "set2check3", "set2check4", "set2check5",
ErrorMessage = "You must check at least one checkbox in set 2.")]
public class MyFormDTO
{
...
}
Как будет выглядеть реализация AtLeastOneCheckboxAttribute?
Или есть другой способ сделать такую проверку?