完全にはわかりません。x個の検証のうちの1つがフォーム全体の検証に合格できるようにする設定が見つかりません。
フィールドのname属性に配列キーがあるため、.rules( "add"関数を使用する必要がありました。すべてのフィールドが失敗した場合、jQuery Validateは期待どおりに機能しますが、1つのフィールドに有効なコンテンツがある場合、フォーム全体が検証に合格します。
<form id="new_user_session">
<input class="input-block-level sq-input" id="user_session_email" name="user_session[email]" placeholder="email address" type="text">
<input class="input-block-level sq-input" id="user_session_password" name="user_session[password]" placeholder="password" type="password">
</form>
<script type="text/javascript">
jQuery(function() {
jQuery('#new_user_session').validate();
jQuery("#user_session_email").rules("add", {
email: true,
messages: {
email: "Please insert a valid email address",
required: "Please insert your email address"
},
required: true
});
jQuery("#user_session_password").rules("add", {
messages: {
required: "Please insert your password"
},
required: true
});
});
</script>
前もって感謝します !