Ваш DTO, который, я думаю, ваша ViewModel может ihert IDataErrorInfo. Затем вы можете выполнить проверку таким образом (обратите внимание, я не компилировал это)
я есть проект 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?
Или есть другой способ, которым я должен сделать такую проверку?