 <p>To make sure an empty string is valid, add a <code>[Required]</code> attribute with <code>AllowEmptyStrings</code> set to <code>true</code>. This prevents <code>null</code> from being assigned, but allows empty strings.</p> <p>As for the regular expression, Romil's expression should work fine.</p> <pre><code>[DisplayName("Account Number:")] [Required(AllowEmptyStrings = true)] [RegularExpression(@"^1\d{7}$", ErrorMessage = "An eight digit long number starting with 1 required")] public string accountNo { get; set; } </code></pre> <p><strong>EDIT</strong> If you also want to <em>prevent</em> empty strings from being validated, simply leave out the <code>AllowEmptyStrings</code> settings (as it defaults to <code>false</code>).</p> <pre><code>[DisplayName("Account Number:")] [Required] [RegularExpression(@"^1\d{7}$", ErrorMessage = "An eight digit long number starting with 1 required")] public string accountNo { get; set; } </code></pre>