 <p>Boolean is a value type, so it will always have a value. [Required] therefore has no real effect. What happens if you use a Nullable&lt;bool&gt; instead? This should allow MVC to assign a null value if the first option is selected, and the Required attribute can then assert that the user did in fact select a value.</p>