我已经看过几次,但是它们似乎并不适用于我的情况.
我的表单在测试验证之前提交.
形成:
JavaScript的:
$('#user_fact_form').bootstrapValidator({ live: 'enabled', message: 'This value is not valid', submitButton: '$user_fact_form button[type="submit"]', submitHandler: function(validator, form, submitButton) { $.post(form.attr('action'), form.serialize(), function (result) { $("#facts_tbody").append(result.data); }); return false; }, feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { key: { selector: '#key', validators: { notEmpty: { message: 'The title is required and cannot be empty' } } }, value: { selector: '#value', validators: { notEmpty: { message: 'The value is required and cannot be empty' } } } } });
有什么想法,我可以禁用提交按钮,直到表单被验证?
最后,我需要做的是禁用表单操作action="javascript:return;"
并使用Jquery AJAX方法发布数据:
$('#user_fact_form').bootstrapValidator({ live: 'enabled', message: 'This value is not valid', submitButton: '$user_fact_form button[type="submit"]', submitHandler: function(validator, form, submitButton) { $.ajax({ type: 'POST', url: 'my_form.url', data: $(form).serialize(), success: function(result) { $("#facts_tbody").append(result); $("#key").val(''); $("#value").val(''); $("#user_fact_form").data('bootstrapValidator').resetForm(); } }); return false; }, feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { key: { selector: '#key', validators: { notEmpty: { message: 'The title is required and cannot be empty' } } }, value: { selector: '#value', validators: { notEmpty: { message: 'The value is required and cannot be empty' } } } } });
你需要这样做:
$("#yourform").submit(function(ev){ev.preventDefault();}); $("#submit").on("click", function(){ var bootstrapValidator = $("#yourform").data('bootstrapValidator'); bootstrapValidator.validate(); if(bootstrapValidator.isValid()) $("#yourform").submit(); else return; });