2017-12-09 7 views
0

問題を解決するためにあなたの助けが必要です。フォームを検証するために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プロパティを使用しています

+0

のために働くホープ表示するメッセージである。この

<input class="form-control" type="number" validate-on="blur" required required-message="'required'" readonly> 

のように入力フィールドを使用します。Iプラグインの 'errorPlacement'プロパティをすでに他の使用のために使用しています" *〜その特定の関数は、エラーメッセージを各フィールドの隣に置くことだけに責任があるので、そのメッセージが欠落している根本的な原因であるとは思わないここに私たちを見せてくれるはずです。 – Sparky

+0

また、あなたは 'invalidHandler'の代わりに' showErrors'を使うべきだと思います。 'this.defaultShowErrors()'は各フィールドの横にデフォルトメッセージを表示することに注意してください。あなたが 'errorPlacement'コールバックを不適切に乗り越えることによってそれを壊していない限り、そうではありません。以下を参照してください:https://jqueryvalidation.org/validate/#showerrors – Sparky

+0

@ Sparkyありがとうございました。私は必ず 'errorplacment'を調べます。私は 'showerror'を試しましたが、私のスキルが低いため、私は要素名とエラーmsgの両方を表示するのに失敗しました。 – user1231648

答えて

0

これはどのように私angular.jsでやってください。アンギュラvalidator.jsを含めるとちょうど必要なメッセージは、あなたが

はご注意 "*それはあなた

+0

ありがとう、私は確かにこれに目を通します...あなたのシンプルなコードを見ると、そのプラグインよりはるかに良い選択肢と思われます。 – user1231648

+0

あなたはここでそれを読むことができますhttps://github.com/turinggroup/angular-validator –

+0

@ user1231648、最初それはちょうど別のプラグインです。第2に、jQuery Validateプラグインは実質的に同じ働きをしますが、この回答はあなたの質問を解決することには至りません。 – Sparky

関連する問題