我正在使用parsley来验证Backbone应用程序中的表单,并且只希望在我调用form.validate()
时运行验证。这是因为我已经在我的视图中处理了很多事件逻辑,并希望能够在提交时进行验证。根据{{3}}格式,默认情况下应禁用输入事件。但是,我没有发生这种情况,并且在我第一次调用$('#form').parsley(options).validate()
之后,欧芹实例似乎正在侦听更改事件。错误按预期显示,但只要在输入中修复了不正确的值,它就会从DOM中删除它们。期望的行为是在下一次.valdate()
呼叫之前不清除它们。
代码看起来像这样:
// Backbone event handler for `onSubmit`
onFormSubmit: function(ev) {
var form = $('#form').parsley({
trigger: false, // <-- defined it explicitly for good measure
errorClass: 'error', // <-- Custom error class handlers
successClass: 'success',
errorsContainer: '#msg-box',
classHandler: this.classHandler
})
if (!form.validate()) {return}
// ...
// do submit
}
有没有人对为什么会发生这种情况有任何想法?
答案 0 :(得分:0)
trigger
选项是在change
首次失败后绑定的manageFailingFieldTrigger
的补充。
目前非常糟糕的解决方法,将触发器设置为不存在但包含“更改”字样的事件,例如“忽略更改”。我认为这样可行,但对未来没有任何承诺。
最好是提出公关,也许将trigger=null
视为特殊价值?