我有一些字段设置了keyup和blur事件。所有这些都适用于欧芹js进行验证,直到用户选中一个具有密钥的字段为止。然后,当用户被标记到字段中时,它立即触发错误。因此,在用户输入任何内容之前,他们会收到错误。有没有办法在不删除keyup事件的情况下阻止这种情况发生。
<input type="text" value="" placeholder="XXXX-XXXX-XXXX-XXXX" class="card" id="card" name="number" pattern="[0-9]*" data-trigger="blur keyup" data-required="true" data-validation-minlength="0" >
以上一切都很棒。
上述场景是我想要停止发生的场景,直到输入字段中的用户键盘为止。
答案 0 :(得分:0)
对于遇到此问题的任何人来说,这是一种解决问题的方法。 在卡输入上设置focusin事件。确保不要在parsley event-trigger属性中使用它。然后删除parsley在focusin事件上检查此事件。然后设置一个超时,以便在parsley完成初始必需的验证后,您可以将其替换回来。
有点hacky我知道,我不喜欢使用计时器,但在这种情况下它有效。我尝试了100,这适用于IE以外的所有浏览器,所以我不得不增加到200补偿IE。
$('.card').focusin(function(){
$('form').parsley( 'removeItem', '#card' );
setTimeout(function(){
getCurrentForm().parsley( 'addItem', '#card' );
},200);
});
希望这可以帮助别人,因为我曾经问过任何关于欧芹的问题我从来没有得到答复。看起来像欧芹不是常见的问题。对于那些没有使用过Parsley js的人来说,你应该检查出令人惊奇的验证库。