問題を解決するためにあなたの助けが必要です。フォームを検証するためにjQuery Validationプラグインを使用しています。無効なフィールドごとに検証メッセージと検証メッセージを表示します。 次のコードを試しましたが、2つの問題が発生しました。jQuery Validation Plugin - エラーメッセージとエラーの概要を表示
問題1: 無効なフィールドからのエラーメッセージが表示されません。
問題2: エラーの概要には、すべてのエラーの一覧が表示されますが、フィールド名は表示されません。私は、プラグインが要素の名前とエラーメッセージの両方を保持する 'errorList'配列を使用していると思いますが、これをどのように使用するのか分かりません。参考:https://jqueryvalidation.org/validate
HTML
<form id="theForm" class="formContainer">
<div id="errorSummary">
<div class="summaryTitle">
<!-- FOR ERROR TITLE -->
</div>
<ul>
<!-- FOR ERROR LIST -->
</ul>
</div>
<div class="formbox">
<label>First Name:</label>
<input type="text" name="FirstName" class="required">
</div>
<div class="formbox">
<label>Last Name:</label>
<input type="text" name="Last Name" class="required">
</div>
<button type="Submit" id="submitButton">Submit</button>
</form>
SCRIPT
<script>
$(document).ready(function(){
$("#theForm").validate({
debug:true,
errorLabelContainer: "#errorSummary ul",
wrapper: "li",
invalidHandler: function(event, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? '<h4>Submission Failed</h4>You missed 1 field. It has been highlighted'
: '<h4>Submission Failed</h4>You missed ' + errors + ' fields. They have been highlighted';
$("#errorSummary div.summaryTitle").html(message);
$("#errorSummary").show();
} else {
$("#errorSummary").hide();
}
},
});
});
</script>
ご注意:私はすでに、他の使用のためのプラグインのerrorPlacement
プロパティを使用していますは
のために働くホープ表示するメッセージである。この
のように入力フィールドを使用します。Iプラグインの 'errorPlacement'プロパティをすでに他の使用のために使用しています" *〜その特定の関数は、エラーメッセージを各フィールドの隣に置くことだけに責任があるので、そのメッセージが欠落している根本的な原因であるとは思わないここに私たちを見せてくれるはずです。 – Sparky
また、あなたは 'invalidHandler'の代わりに' showErrors'を使うべきだと思います。 'this.defaultShowErrors()'は各フィールドの横にデフォルトメッセージを表示することに注意してください。あなたが 'errorPlacement'コールバックを不適切に乗り越えることによってそれを壊していない限り、そうではありません。以下を参照してください:https://jqueryvalidation.org/validate/#showerrors – Sparky
@ Sparkyありがとうございました。私は必ず 'errorplacment'を調べます。私は 'showerror'を試しましたが、私のスキルが低いため、私は要素名とエラーmsgの両方を表示するのに失敗しました。 – user1231648