2017-10-31 22 views
1

jqueryバリデーションプラグインを起動するボタンがあります。問題は、フィールドが空でない限り、常にtrueを返すことです。解析されるルールは無視されます。Jquery Validateが常にtrueを返すとは限りません

DEMO http://jsfiddle.net/sw87W/835/

$(document).ready(function() { 
    $('#myForm').validate({ 
    email: { 
     required: true, 
     email: true 
    }, 
    password: { 
     required: true, 
     minlength: 5 
    } 
    }); 

    $('#validateForm').click(function() { 
    var isValid = $("#myForm").valid(); 
    alert(isValid); 
    }); 
}); 

実際には、あなたは私のvalidate()機能を削除することができますし、同じ動作が存在しています。 http://jsfiddle.net/sw87W/836/

$(document).ready(function() { 
    $('#validateForm').click(function() { 
    var isValid = $("#myForm").valid(); 
    alert(isValid); 
    }); 
}); 

DEMOは、この質問は前に頼まれていますが、私の質問に答えていない:

jquery validate - remote always returns true

jQuery Validation always returns true

+0

あなたはそれを検証する前にリダイレクトする、あなたのボタンの種類が提出され – whoami

+0

取得している、あなたがボタンにデフォルトの提出または変更タイプを防止またはフォームで検証関数を呼び出すことができますどのようなエラー –

+0

@whoamiをonSumitルールが守られていなくても、エラーはなく、常に真を返します。 – steve

答えて

5

あなたはルールのサブを追加するとき、それは働いていましたオブジェクト:

jquery validate documentation

JSFIDDLE

$(document).ready(function() { 
    $('#myForm').validate({ 
    rules:{ 
     email: { 
     required: true, 
     email: true 
     }, 
     password: { 
     required: true, 
     minlength: 5 
     } 
    } 
    }); 

    $('#validateForm').click(function() { 
    var isValid = $("#myForm").valid(); 
    alert(isValid); 
    }); 

}); 
+0

このコードスニペットは解決策であるかもしれませんが、[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 – yivi

関連する問題