CI 묻고 답하기

제목 회원가입 비밀번호 폼 검증 질문드립니다.
카테고리 CI 2, 3
글쓴이 초심으로 작성시각 2023/11/30 01:14:32
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 1383   RSS

안녕하세요.

회원가입을 직접 만들어 보면서 CI3 에 대해 하나씩 차근차근 공부 중 입니다.

질문드리고 싶은 내용은 현재 

회원가입시 입력한 비밀번호가 형식에 맞는지 체크하는 아래와 같은 일반 함수가 하나 있습니다.

function udf_ChkPW() {
   ~~
   ~~ 
}

이 함수를 헬퍼 파일로 만들어서 helpers 폴더에 udf_helper.php 로 저장하고 이 함수를 회원가입 -> 폼인증시 비번체크에 

사용하려고 다음과 같이 컨트롤러에 코딩을 했습니다. ( 필요한 코드 부분만 적었습니다. )

	public function __construct() {
		parent::__construct();

		$this->load->helper("form","udf");
		$this->load->library("form_validation");
	} 

 

     

	public function create() {

		$this->form_validation->set_rules(
			"login_pw",
			"비밀번호",
			"trim|required|callback_udf_ChkPw|matches[login_pw_confirm]",
			array (
				"required" => "비밀번호를 입력해 주세요.",
				"matches" => "비밀번호 확인이 일치하지 않습니다."
			)
		);

       }

------------------------------------------------------------------------------------------------------

코드를 보시면 아시겠지만 만든 헬퍼를 생성자에서 로딩하고 ( udf )

비밀번호 검증시 콜백함수로 헬퍼에 있는 걸 사용하려는 목적으로 작성한 코드인데 실행을 해보면 

Unable to access an error message corresponding to your field name 비밀번호.(udf_ChkPw) 라고 오류가 나옵니다.

제가 검색으로 못 찾은 걸 수도 있지만  구글링이나 ci 메뉴얼을 보면 콜백함수가 같은 컨트롤러 안에 정의해서

사용하는 코드들만 있더군요.

1. 헬퍼에 있는 함수는 콜백으로 사용할 수 없는 건가요?

2. 사용할 수 있다면 간단한 예제나 사이트 좀 알려주세요.

선배님들의 조언 부탁드립니다.

감사합니다.

 다음글 관리자 페이지 에러 500 (9)
 이전글 관리자 로그인 실패 (2)

댓글

변종원(웅파) / 2023/11/30 14:04:38 / 추천 0

우선은 매뉴얼대로 컨트롤러 안에 구현해서 정상작동 되는지 확인해보시고 작동되면 헬퍼로 옮겨보세요.

헬퍼 함수를 다 안올려서 생략을 한건지 원래 저런건지 알수가 없습니다. 저 상태라면 에러가 납니다. 매뉴얼 다시 한번 보세요.

https://ciboard.co.kr/user_guide/kr/libraries/form_validation.html#callbacks-your-own-validation-methods

초심으로 / 2023/11/30 16:24:09 / 추천 0

답변 감사합니다.

헬퍼에 있는 함수를 컨트롤로 옮기니 제대로 작동은 합니다.

https://stackoverflow.com 다시 검색 해보니 extend the CI_Form_Validation class. 하라는 답변들이 몇개 있네요.

이렇게해서 다시 해보겠습니다. 

감사합니다. (--)(__)

 

초심으로 / 2023/12/06 10:31:55 / 추천 0

extend the CI_Form_Validation class 해서 해결 했습니다.

https://blog.naver.com/apchima/223290353562

여기에 해결한 내용을 적어놨습니다.

참고하실 분들은 하시고...

잘 못된 내용이 있으면 꼭 좀 댓글로 알려주세요.

ci 는 처음 해보는 거라 쉽지 않네요.. ㅋㅋ

감사합니다.