Вам необходимо вызвать .validate()
в вашем обработчике document.ready
, так как он устанавливает проверку (и для события submit
, которое уже выполняется здесь), он не 't запустить проверки.Это должно выглядеть следующим образом:
$(function() {
$("#gestione_profilo").validate({
rules: {
'person_data[document_number]': "required"
},
messages: {
'person_data[document_number]': "required"
},
submitHandler: function(form){
$.post("<?php echo url_for('profile/index') ?>", $(form).serialize(),
function() {
$("#forma_profile").unmask();
});
$("#forma_profile").mask("Aggiornando dati...");
}
});
});
Это включает в себя no .submit()
обработчик, добавленный в саму форму (.validate()
делает это снизу), вместо этого используйтеsubmitHandler
параметр , который запускается только тогда, когда форма действительна, invalidHandler
является его аналогом, который запускается, когда форма недействительна.