MVC 3 - Only display/use certain model properties <p>Being fairly new to MVC 3 I am not sure of the best approach for this. Let's say I have a simple class like this...</p> <pre><code>Public Class PDetail &lt;Required&gt; Public Property FirstName As String &lt;Required&gt; Public Property LastName As String &lt;Required&gt; Public Property CellNo As String &lt;Required&gt; Public Property PassportNo As String &lt;Required&gt; Public Property Nationality As String Public Property ExtraRequirements As String End Class </code></pre> <p>This is used to create my model. During a booking process I may prompt for these values on a view. However depending on the type of booking I may not wish to ask some of these questions. For example I may not require the PassportNo and Nationality if the booking does not involve going to a foreign country.</p> <p>What's the best way to deal with this? The easy way seems to be to have a separate property that determines which fields are shown as EditorFor and the others use HiddenFor. But is this sensible? Also when it comes to server side validation the hidden fields are still validated.</p> <p>The class above is a simplified version of what I actually do. I have up to 10 fields that can be shown or hidden independently depending on the type of booking, so creating a separate model for each combination would be a nightmare.</p>