First html helper generates client-side validation attributes, while the second one doesn’t
The CheckBox() helper does not render thedata-val attributes because the form has already rendered CheckBoxFor() for the same property. If you swap the order, the data-val attributes would be rendered for CheckBox() (and not for CheckBoxFor()). My understanding is this would cause a potential (duplication) problem with jquery.validation.unobtrusive when parsing the form. The html helpers … Read more