用户名是需要ajax验证的
当焦点在用户名的输入框的时候,输入正确的值,然后直接点击提交按钮, 就会出现 提交两次的情况
经过我一天的调试, 苦逼, 调这个bug调了一天
终于找到了问题
ajax提交的时候
Validation Engine会在提交的时候将表单全部验证一次
由于刚开始的焦点在用户名上:还会触发输入框的blur事件
blur事件中的校验会将 options.eventTrigger 设置为 field
提交事件中会将options.eventTrigger设置为 submit
由于ajax提交是异步的
先触发了blur的验证事件
在blur的ajax验证回调的时候, 同时提交事件也在执行,提交事件将 options.eventTrigger设置为 submit
在ajax校验中有这段代码, 如果options.eventTrigger 为 submit 则触发提交事件
于是blur的事件也触发了提交事件
修复方法
在ajax请求时将 options.eventTrigger 保存到ajax对象中
判断语句修改为:
大功告成 下班.....