Будучи довольно новым для MVC 3, я не уверен в наилучшем подходе для этого. Допустим, у меня есть простой класс, подобный этому ...
Public Class PDetail
<Required>
Public Property FirstName As String
<Required>
Public Property LastName As String
<Required>
Public Property CellNo As String
<Required>
Public Property PassportNo As String
<Required>
Public Property Nationality As String
Public Property ExtraRequirements As String
End Class
Используется для создания моей модели. Во время процесса бронирования я могу запросить эти значения в представлении. Однако, в зависимости от типа бронирования, я могу не задавать некоторые из этих вопросов. Например, я не могу требовать PassportNo и национальность, если бронирование не предполагает поездки в другую страну.
Какой лучший способ справиться с этим? Кажется, что проще всего иметь отдельное свойство, которое определяет, какие поля отображаются как EditorFor, а другие используют HiddenFor. Но разумно ли это? Также, когда дело доходит до проверки на стороне сервера, скрытые поля все еще проверяются.
Класс, приведенный выше, является упрощенной версией того, что я на самом деле делаю. У меня есть до 10 полей, которые могут быть показаны или скрыты независимо в зависимости от типа бронирования, поэтому создание отдельной модели для каждой комбинации было бы кошмаром.