ASP.Net MVC меняются обязательные поля - PullRequest
1 голос
/ 09 марта 2012

У меня есть одна форма для создания похожих предметов. Я упросту сценарий для демонстрации.

Вы можете создать один из множества «типов контента». Вы можете добавить «Файл», «Папка», «Объявление» и т. Д. Я бы использовал / home / addcontent? Contenttype = FILE, чтобы определить, какие параметры отображать в представлении.

Каждый элемент контента имеет следующее.

  1. Имя
  2. Описание (необязательно)

«Файл» также имеет:

  1. Элемент списка
  2. FilePath

Объявление также имеет:

  1. Приоритет
  2. DisplayHomepageFLG (необязательно)

Я мог бы добавить все это в одну модель представления со всеми аннотациями данных, но modelstate.isvalid почти никогда не будет истинным, поскольку каждый «тип содержимого» имеет уникальные свойства.

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

1 Ответ

0 голосов
/ 09 марта 2012

Единственный способ, о котором я могу думать, - это использовать RemoteValidationAttribute .

Посмотрите здесь также для образца

Затем в вашем контроллере,вы не будете использовать ModelState.IsValid, а только проверку на своем уровне бизнес-логики

Вы также можете подумать об использовании JQuery.validation со своими собственными сценариями для проверки полей

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