ASP. NET MVC, чтобы убедиться, что установлен хотя бы один флажок

У меня есть проект 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?

Или есть другой способ сделать такую ​​проверку?

7
задан tereško 30 March 2013 в 11:06
поделиться