私はブラウザ側の検証用に jquery 検証プラグインを使用して単純なフォームに取り組んできましたが、何らかの理由で「phoneUS」ルールが残りの検証コードを壊しているように見えます。
そのフィールド (「tel」) がフォームで空白である限り、検証は意図したとおりに機能します。ただし、電話フィールドに何か (文字を含む) が入力された場合、他の必須フィールドが空白のままであっても、検証はスキップされ、フォームが送信されます。ただし、「phoneUS」ルールがコードから取り除かれると、「tel」入力に適用される他の検証ルールが引き続き適用されます。言うまでもなく、私は完全に混乱しています。
スクリプトは次のとおりです。
<script type="text/javascript">
$(document).ready(function(){
$('#survey1').validate({
rules: {
firstname: {
required: true,
},
lastname: {
required: true
},
address1: {
required: true
},
city: {
required: true
},
state: {
required: true
},
zip: {
required: true,
digits: true
},
tel: {
required: true,
phoneUS: true
},
email: {
email: true
}
}
});
});
</script>
ラベルと入力フィールドは、スクリプトに一致する名前を持つ単純なテキスト ボックスです。フォーム アクションは、php ファイルを使用して結果を静的な電子メール アドレスに送信するように設定されています。他に役立つ情報があれば、提供します。
私は比較的 jQuery に慣れていないので、お気軽にポインタ (余分な文字など) を提供してください。
ありがとう!