2013-04-01 1 views
4

JQuery 유효성 검사를 사용자 지정 선택기 및 유효성 검사 논리와 함께 사용할 수 있습니까? 다음의 맥락에서 뭔가 :JQuery 사용자 지정 선택기 및 논리를 사용하여 유효성 검사

$('#myForm').validate({ 
    rules: { 
     '[myattr="foo"]': function(content) { return $(content).val().contains('bar'); } 
    } 
}) 

설명서에 대한 답변을 찾지 못하는 것 같습니다.

감사합니다.

+0

특정 유효성 검사 논리가 쉽게 정규식으로 표현 될 수있다 –

답변

7

.validate() 안에 규칙을 선언하려면 이어야하며 name 속성을 사용해야합니다. 문제를 해결하려면 rules('add') 메서드를 사용하면 jQuery 선택기를 사용할 수 있습니다. (단, 규칙을 할당하는 선택 방법에도 불구하고, 모든 필드는 여전히 고유 name 속성을 포함해야합니다.)

$('[myattr="foo"]').rules('add', { 
    required: true, 
    messages: { 
     required: "optional custom message" 
    } 
}); 

참조 : http://docs.jquery.com/Plugins/Validation/rules#.22add.22rules

:

  • 만들기 messages 내부에을 사용하는 버그를 최근에 수정 한 최신 버전의 플러그인을 사용하십시오.이 규칙을 위반했습니다. 당신의 선택은 두 개 이상의 요소를 선택하려는 class 같은 인 경우

  • , 당신은 jQuery를 .each()rules('add') 포장해야합니다.


    $('.myclass').each(function() { 
        $(this).rules('add', { 
         required: true, 
         messages: { 
          required: "optional custom message" 
         } 
        }); 
    }); 
    

당신은 단순히 addMethod 방법을 사용하여 방법/규칙을 만든 다음 다른 규칙처럼 선언, 원칙적으로 사용자 정의 기능을 사용하십시오.

$.validator.addMethod('myrule', function(value, element, params) { 
    // your function 
    // return true to pass 
    // return false to fail 
}, "error message"); 

$('#myform').validate({ 
    rules: { 
     myfield: { 
      required: true, 
      myrule: true 
     } 
    } 
}); 

참조 : http://docs.jquery.com/Plugins/Validation/Validator/addMethod#namemethodmessage

관련 문제