ASP.NET MVC 3 - как кодировать аннотации данных и jquery - PullRequest
0 голосов
/ 20 декабря 2011

Последние три дня я бился головой о кирпичную стену, пытаясь закодировать следующий сценарий - это, должно быть, довольно распространенный сценарий, но я разработчик базы данных и очень плохо знаком с MVC3 и C #

У меня есть 2 таблицы базы данных:

Primary_Applicant_Details и Previous_Applicant_Details

Эти таблицы имеют первичный ключ и следующие поля:

Title     not null
Forenames not null
Surname   not null

Теперь представление содержит поля обеих этих таблиц (используя Mindscape Lightspeed для генерации модели), однако пользователь ДОЛЖЕН ввести первичные данные, поэтому аннотации данных «required» - работают нормально.

Но Сведения о предыдущем заявителе являются необязательными.

Таким образом, если пользователь вводит какие-либо сведения о предыдущем заявителе, т. Е. Заголовок, имя или фамилию, тогда ДОЛЖНЫ быть введены ВСЕ эти элементы в представлении.

Поэтому я не могу поместить аннотацию данных «Обязательные» в поля «Сведения о предыдущем заявителе», так как это сделает их обязательными в представлении.

Это единственный способ создать требуемый файл d.Ата аннотация?Если это так, необходимо указать все 3 поля и проверить, что остальные 2 поля были введены.т. е. если введен заголовок, убедитесь, что введены также имена и фамилии, если введены имена, проверьте, введены ли заголовок и фамилия и т. д.

Если это правильно, может ли кто-нибудь помочь в предоставлении кода дляаннотация данных, которая проверяет наличие нескольких полей?Если есть другой способ обойти этот сценарий, пожалуйста, просветите меня.

Ответы [ 2 ]

0 голосов
/ 25 января 2012

Вам нужно написать свой собственный валидатор.Для этого вы должны наследовать от класса ValidationAttribute и переопределить метод IsValid.Есть классная перегрузка для метода IsValid, который позволяет вам получить доступ к текущему контексту, чтобы вы могли затем проверить все свойства вашей модели, выполнить поиск в базе данных такого рода.для всех тончайших моментов при проверке данных.Это должно помочь вам решить вашу проблему.

http://www.diaryofaninja.com/blog/2011/07/19/spelunking-inside-aspnet-mvc-3-model-aware-data-annotations

0 голосов
/ 20 декабря 2011

Нет такой вещи, встроенной в MVC3, но этот парень создал инструментарий валидации mvc 3, который имеет "условно обязательную" валидацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...