2016-07-22 8 views
0

検証ライブラリを作成しようとしましたが、どこかについています。フラグを使用して実行するオブジェクトの関数を停止

var validation_event = { 
    mandatory: function(that) { 
     if (!$(that).val() && $(that).data('placeholder')) { 
     alert('Please fill in ' + $(that).data('placeholder') + '.'); 
     return false; 
     } 
    }, 

    email: function(that) { 

     var regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; 
     if ($(that).val() == '' || !regex.test($(that).val())) { 
     alert('Please make sure the ' + $(that).data('placeholder') + ' is valid.'); 
     return false; 
     } 
    } 
    } 

https://jsfiddle.net/wvzbq9h2/

提出]をクリックしてください、あなたは2警告があります表示されます。それ以外はうまくいきます。

+0

あなたの質問を再度何がfalseの場合$.eachから復帰返さ?この例は、あなたが提供したjsfiddleリンクで正常に動作します。 –

+0

@ sgarcia.devは、最初のエラーで検証を停止します。 2番目の警告はありません – eltonkamami

+1

@ sgarcia.devそれは私がしたくない警告を2回引き起こした –

答えて

0

チェックがの値検証を継続し、それが

continue_validate = validation_event[val](self); 
    if(!continue_validate){ 
     return false; 
    } 

Updated JsFiddle

+0

それは動作しません、無効なアドレスを警告しません。あなたのコードをもう一度確認してください –

+0

@EuniceChiaがコードを更新しました。カスタム要素の属性には 'data-'プレフィックスが必要です。検証メソッドは、エラーが発生しなければtrueを返します。 – eltonkamami

関連する問題