 <p>It's a bit complicated to make only the first item in the collection required. I suggest you creating a separate property for that and mark it as required:</p> <blockquote> <p>ViewModel</p> </blockquote> <pre><code>public class MyViewModel { [Required] public string RequiredName { get; set; } public List&lt;string&gt; SubSiteNames { get; set; } } </code></pre> <blockquote> <p>View</p> </blockquote> <pre><code>&lt;label&gt;Name &lt;/label&gt; @Html.TextBoxFor(m =&gt; m.RequiredName) @Html.ValidationMessageFor(m =&gt; m.RequiredName) @for (int i = 1; i &lt;= 3; i++) { &lt;label&gt;Name &lt;/label&gt; @Html.TextBoxFor(m =&gt; m.SubSiteNames[i - 1]) } </code></pre> <p>Then just remove the first item from the <code>SubSiteNames</code> list and set it to the <code>RequiredName</code>.</p>