2016-11-26 2 views
0

일부가 반복되는 양식이 있습니다. 이 때문에 입력 필드의 이름은 필드 그룹의 일부입니다. 예를 들면 :jQuery Validate - 반복 필드에 대한 규칙 및 메시지

<input type="text" name="order[line1][address1]" id="address1_line1"> 
<input type="text" name="order[line2][address1]" id="address1_line2"> 

예를 들어, 내가이 분야에 대한 규칙과 메시지를 설정하는 방법을 찾을 수 jQuery를 검증 플러그인 (https://jqueryvalidation.org)를 사용하여 : * 존재로 ..

$("#registration-form").validate({ 
     rules: { 
      order[*][address1]: "required", 
     }, 
     messages: { 
      order[*][address1]: "Please enter an address", 

     } 
    }); 

와일드 카드.

<input type="text" name="order[line1][address1]" id="address1_line1" required> 

을 ...하지만 난 여전히 검증에 사용자 정의 메시지를 추가 할 수 없습니다 :

나는과 같이 입력에 필요한 태그를 추가 할 수 있습니다.

누구의 도움도 감사하십시오.

답변

0

사용자 지정 유효성 검사를 사용하여 변수를 만들 수 있습니다.

var ruleSet = { 
    required: true, 
    number: true 
}; 

$('#myForm').validate({ 
    rules: { 
     field1: ruleSet, 
     field2: ruleSet, 
     field3: ruleSet 
    } 
}); 
+0

"address"을 포함하는 모든 필드 이름에 required 규칙을 적용합니다 이런 일을 할 수 그러나 나는 특히 내 분야를 대상으로 어떻게 ? –

+0

내 filed1 대신에 field2 당신은'order [line1] [address1]'order [line2] [address2]' – Mardzis

0

당신은 직접이 작업을 수행 할 수 있습니다 ...

$("#registration-form").validate({ 
    rules: { 
     order[*][address1]: "required", 
    }, 
    messages: { 
     order[*][address1]: "Please enter an address", 

    } 
}); 

... 플러그인은 요소가 아니라 와일드 카드 선택의 정확한 name을 찾고 있기 때문이다.

그러나 a "contains" selectora jQuery .each()과 함께 the .rules('add') method를 사용하여, 당신은 ...

$('[name*="address"]').each(function() { 
    $(this).rules('add', { 
     required: true, 
     messages: { 
      required: "Please enter an address" 
     } 
    }); 
});