是否可以使用jQuery Validation插件进行验证,但实际上允许提交表单?
原因是我想要保存进度'按钮,它将允许您实质上提交不良数据。表格最终将有多个步骤,在最后一步,我将确定表格的有效性,并使“提交”能够实现。按钮(如果所有部分都有效)。因此,系统会向用户显示类似的内容,但您的进度已保存,但在完成所有必填字段后才能提交表单。
我想知道你是否可以对submitHandler
做点什么,但我真的不知道从哪里开始。
编辑 - 按照Sparky的初步答案进行更新
按照@ Sparky的初步回答,我已经开始使用button type="button"
来控制表单的提交,即使它无效,然后是默认的{ {1}}如果表单有效,则提交表单。
我的逻辑是试图说,当您单击保存按钮时,如果表单无效,则提交它。但验证仍然停止提交。我必须接近这个错误,但我不确定为什么。
button type="submit"
答案 0 :(得分:1)
基本上,您需要使用type="button"
元素并写出外部click
处理程序,以便您可以控制其行为。您将使用type="button"
而不是type="submit"
,因为后者会自动被插件捕获。您的“提交”按钮将是type="submit"
,因为插件会自动捕获和处理该按钮。
submitHandler
回调仅用于在表单被视为“有效”之后执行某些操作,因此我不确定这对您有什么好处。最常见的是,这用于处理ajax()
提交代码。否则,表单只是使用action
属性中的URL提交标准表单。
现在忽略按钮,假设.validate()
方法正确地初始化了form
上的插件,你就可以对每个输入的键上和模糊进行验证。
您可以使用.valid()
方法手动触发整个表单的验证。
请记住,.validate()
方法仅用于初始化表单上的插件,一旦您在表单上初始化插件,就无法关闭,暂停,或禁用。
修改强>
使用form[0].submit()
将绕过验证并提交表单。请参阅:http://jsfiddle.net/effx3p45/22/