Ваш 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?

Или есть другой способ, которым я должен сделать такую ​​проверку?

Ответы на вопрос(0)

Ваш ответ на вопрос