2017-02-07 10 views
1

私はdate_startとdate_endの2つのフィールドを持っており、jQuery Validateで両方を検証したいと思います。Jquery検証で1つのエラーで2つのフィールドを検証する方法

私はバリから2個のエラーを持っているが、私はJavaのJSPフォーム

<div class="form-group user-edit-form-group"> 
    <label for="input_cameras_limit" class="col-xs-4 control-label">Cameras limit</label> 

    <div class="col-xs-4"> 
    <input name="key_cameras_limit" id="input_cameras_limit" type="text" 
    class="form-control user-edit-input" placeholder="" value=""> 
    </div> 

    <div class="user-edit-error-wrapper"> 
    </div> 
</div> 

JSの検証一部

$('#partner_key_settings_form').validate({ 

    rules: { 
     key_valid_from: { 
      required: true, 
      date: true 
     }, 
     key_valid_till: { 
      required: true, 
      date: true 
     } 

    }, 
    messages: { 
     key_valid_from: { 
      required: JsMultiLang.getWords('partner', 'validationPromoCodeDate') 

     }, 
     key_valid_till: { 
      required: JsMultiLang.getWords('partner', 'validationPromoCodeDate') 
     } 
    }, 

    errorClass: "user-search-error", 

    errorPlacement: function (error, element) { 

     if (element.attr("name")=="key_valid_from" ||element.attr("name")=="key_valid_till"){ 
      error.appendTo($(element).parent().parent().parent().find('.user-edit-error-wrapper')); 
      console.log(error.appendTo($(element).parent().parent().parent().find('.user-edit-error-wrapper')==undefined)) 
     } 

    }, 

    highlight: function (element) { 
     $(".user-edit-server-error").remove(); 
     $(element).closest('.form-group').addClass('has-error'); 

     var tabPaneId = $(element).closest('.tab-pane').attr('id'); 
     $('a[href="#' + tabPaneId + '"]').addClass('has-error'); 
    }, 

    unhighlight: function (element, error, valid) { 
     $(element).closest('.form-group').removeClass('has-error'); 

     var tabPaneId = $(element).closest('.tab-pane').attr('id'); 
     var hasErrorDivsId = '#' + tabPaneId + ' .has-error'; 
     var errorDivsOnTabSize = $(hasErrorDivsId).size(); 
     if (errorDivsOnTabSize < 1) { 
      $('a[href="#' + tabPaneId + '"]').removeClass('has-error'); 
     } 
    }, 

    success: function (error) { 
     error.remove(); 

    } 
}) 

答えて

0

のちょうど1 ...

enter image description here

一部を必要としますグループ1にgroupobjectを追加する必要があります検証の場合はerrorPlacement、必要な場合はerrorPlacementとなります。

rules: { 
    key_valid_from: { 
     required: true, 
     date: true 
    }, 
    key_valid_till: { 
     required: true, 
     date: true 
    } 

    }, 
    groups: { 
    key_valid_from: "key_valid_from key_valid_till" 
    }, 
    errorPlacement: function(error, element) { 
    if (element.attr("name") == "key_valid_from" || element.attr("name") == "key_valid_till") 
     error.insertAfter('input[name=key_valid_till]'); 
    else 
     error.insertAfter(element); 
    } 
関連する問題