jQuery Validate - 验证但有目的地允许提交表单

时间:2014-08-21 11:42:32

标签: jquery jquery-validate

是否可以使用jQuery Validation插件进行验证,但实际上允许提交表单?

原因是我想要保存进度'按钮,它将允许您实质上提交不良数据。表格最终将有多个步骤,在最后一步,我将确定表格的有效性,并使“提交”能够实现。按钮(如果所有部分都有效)。因此,系统会向用户显示类似的内容,但您的进度已保存,但在完成所有必填字段后才能提交表单。

我想知道你是否可以对submitHandler做点什么,但我真的不知道从哪里开始。


编辑 - 按照Sparky的初步答案进行更新

按照@ Sparky的初步回答,我已经开始使用button type="button"来控制表单的提交,即使它无效,然后是默认的{ {1}}如果表单有效,则提交表单。

我的逻辑是试图说,当您单击保存按钮时,如果表单无效,则提交它。但验证仍然停止提交。我必须接近这个错误,但我不确定为什么。

Fiddle

button type="submit"

1 个答案:

答案 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/