Не упускаете ли вы часть проверки?
@Html.ValidationFor(m => m.Terms)
Чтобы подключить отправку, просто подключите ее, либо нажмите кнопку, либо отправьте форму:
$(".btn").bind("click", function() {
// Button was clicked, do stuff here
return true; // so it can process the form submit
});
и
$("form").bind("submit", function() {
// Form was submitted, do stuff here
return true; // so it can process the form submit to the server (return false if you dont want to submit)
});
вы всегда можете использовать:
@using(Html.BeginForm("Action", "Controller", new { @id = "myForm" }, FormMethod.Post, null)) {
...
}
и соединиться с идентификатором селектора
$("#myForm").bind("submit", function() { ... });
Для использования CheckBox
с атрибутом Required
, вам нужно выполнить пользовательскую проверку, просто скопируйте / вставьте код Дарина , чтобы понять, почему [Required]
не работает "из коробки", вам нужно понять выводHTML
обязательная проверка в jQuery Validation означает, что необходимо значение, например:
<input type="text" value="" id="myTextbox" />
, но в случае флажка значение всегда есть
<input type="checkbox" value="Yes" id="myChackbox" checked="checked" />
и
<input type="checkbox" value="Yes" id="myChackbox" />
, поэтому Required
всегда истинно.
Вам просто нужно подключить пользовательское событие, следовать коду Дарина, и вы готовы идти.