jQuery ajax와 함께 제출하는 폼이 있으며이 폼 컨트롤은 submit이라는 컨트롤러 함수에 보내져 폼 데이터와 함께 필요한 다른 작업을 수행합니다. 사용자 이름에 소문자와 숫자 만 들어 있지 않은 경우 왜 내 양식 유효성 검사 라이브러리에 오류가 표시되지 않는지 알아 내려고합니다. 양식 제출 후폼 유효성 검사
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean|strtolower');
POST 값 :
username TestingUSER
편집 :
지금까지 내가 제대로 PHP는 서버 측에 도달 알고있다.
PHP :
public function submit()
{
$output_status = 'Notice';
$output_title = 'Not Processed';
$output_message = 'The request was unprocessed!';
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean|strtolower');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
$this->form_validation->set_rules('remember', 'Remember Me', 'trim|xss_clean|integer');
if ($this->form_validation->run() == TRUE)
{
}
else
{
$output_status = 'Error';
$output_title = 'Form Not Validated';
$output_message = validation_errors();
}
echo json_encode(array('output_status' => $output_status, 'output_title' => $output_title, 'output_message' => $output_message));
}
편집 2 :
셰이크 대답 기반으로. "사용자의 필드 이름에 해당하는 오류 메시지에 액세스 할 수 없습니다."라는 응답이 다시 나타납니다. 메시지가 작동하지 않도록 제목에 대해 양식이 검증되지 않았다고 말합니다.
public function check_username($str)
{
if (preg_match('#[0-9]#', $str) && preg_match('#[a-z]#', $str))
{
return TRUE;
}
$this->form_validation->set_message('username', 'This is not have an accepted value!');
return FALSE;
}
편집 3 : 내가 뭘하고 싶은거야 것은 그것이 유효성 검사 오류가 아니라 pnotify 응답의 특정 오류가 있다는 것을 다시보고가있다
. 그러나 나는 양식 요소 아래에 특정 오류를 표시하고 싶습니다.
jQuery를 코드 :
로그인 양식 :
실제 아약스/자바 스크립트 코드와 실제 컨트롤러 코드를 표시하십시오. 아약스없이 작동합니까? –
제 편집을 검토하십시오. –
@KevinSmith, 필드 이름은'callback' 함수에서 설정할 때'username '대신에'check_username', 즉'$ this-> form_validation-> set_message ('check_username ','... ')'이어야합니다. –