2013-05-25 4 views
-2

jQuery를 사용하여 두 암호 필드의 유효성을 검사하려고합니다.jQuery - 암호 유효성 검사

내 코드는 다음과 같습니다

jQuery('#settingsForm').validate(
    rules : { 
     npassword : { 
     }, 
     pass_check : { 
      equalTo : '#npassword' 
     } 
    } 
}); 

이 입력 필드의 HTML입니다 :

<label for='npassword'>New Password</label> 
<input type='password' class='span10 password_check' name='npassword' id='npassword' value='' placeholder='New Password'> 
<div class='separator'></div> 

<label for='pass_check'>Confirm New Password</label> 
<input type='password' class='span10' name='pass_check' id='pass_check' value='' placeholder='Confirm New Password'> 
<div class='separator'></div> 

을이 아무것도하지 않지만. 무엇을 바꾸어야합니까? 저는 jQuery와 Javascript에 익숙하지 않습니다.

미리 감사드립니다.

+1

'EqualTo가 '#의 password''는'EqualTo가되어야한다 : '# npassword' ', 다른 요소의 ID와 동일합니다. – Matt

+0

레이블 이름이 아닌 입력 이름을 전달해야합니다. – JonathanRomer

+0

아 물론. 하지만 여전히 작동하지 않습니다. 어떤 아이디어? – oliverbj

답변

1

npassword의 구성을 작성해야합니다. required: true을 사용합니다. 여기를 참조하십시오 : http://jsfiddle.net/JtTgM/

+0

고마워요! "같은 값을 다시 입력하십시오"라는 표준 메시지를 어떻게 바꿀 수 있습니까? – oliverbj

+0

여기에서 볼 수 있듯이 '메시지'를 무시할 수 있습니다. http://jqueryvalidation.org/validate – dersvenhesse

0

1) 당신이 바로 .validate( 후, 중괄호 열기, { 누락 :

jQuery('#settingsForm').validate({ // <-- opening brace { was missing 

2)은 어쩌면 당신은 첫 번째 암호 필드에 대한 required 규칙을 지정합니다. 그렇지 않으면 두 필드가 비어있을 때 둘 다 일치하고 양식이 유효합니다.

npassword: { 
    required: true 
}, 

3) 당신은 messages 옵션으로 기본 메시지를 대체 할 수 있습니다 :

jQuery('#settingsForm').validate({ 
    rules: { 
     npassword: { 
      required: true 
     }, 
     pass_check: { 
      equalTo: '#npassword' 
     } 
    }, 
    messages: { 
     npassword: { 
      required: "this field is required" 
     }, 
     pass_check: { 
      equalTo: "the passwords must match" 
     } 
    } 
}); 

작업 DEMO : http://jsfiddle.net/vsLWg/