개발! 딱 깔끔하고 센스있게!

비밀번호 확인 키 PHP 검증 본문

개발 스크랩 메모/PHP

비밀번호 확인 키 PHP 검증

렉사이 2020. 12. 8. 23:57

나 는 여기저기 찾 아 다 니 며 책 속 의 모든 기 교 를 시험 해 보 았 지만, 나 는 아직도 내 Cake PHP 프로그램 이 간단 한 비밀 번 호 를 실행 하도록 인증 할 수 없 었 다.

다음 과 같이 사용자 정의 인증 규칙 을 만 들 려 고 시도 해 왔 습 니 다.

'passwordequal' => array('rule' => 'checkpasswords' , 'message' => 'Passwords Do Not Match') 

그리고 이렇게 "checkpasswords" 를 정의 합 니 다.

public function checkpasswords(){ if(strcmp($this->data['User']['new_password'],$this->data['User']['confirm_password']) == 0 ) { return true; } return false; } 

'새 비밀번호' 와 '비밀번호 확인' 은 비밀번호 입력 필드 입 니 다.

이 건 소 용 없어.그리고 나 서 나 는 '비밀번호 확인' 을 해 보 았 다.

그래도 소 용 없어.나 는 기타 검증 되 지 않 은 "규칙" 이 있 습 니 다.

예 를 들 어 "notempty" 는 표준 Cake PHP 규칙 중의 하나 라 고 믿 습 니 다.

누가 좀 도와 줄 래 요?나 는 누군가가 이 문 제 를 여러 번 물 어 본 것 을 알 지만, 이런 해결 방법 은 모두 쓸모 가 없다.

케 피 HP 파일 도 큰 도움 이 되 지 않 았 습 니 다.

대답 하 다.

보기 파일 의 두 필드

echo $this->Form->input('password'); echo $this->Form->input('repass'); 

모형 파일

 array( 'equaltofield' => array( 'rule' => array('equaltofield','password'), 'message' => 'Require the same value to password.', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule 'on' => 'create', // Limit validation to 'create' or 'update' operations ) ) ); function equaltofield($check,$otherfield) { //get name of field $fname = ''; foreach ($check as $key => $value){ $fname = $key; break; } return $this->data[$this->name][$otherfield] === $this->data[$this->name][$fname]; } }?> 
Comments