양식 유효성 검사에 이상한 문제가 있습니다. 내 양식에 4 개의 입력이 있으며 모두 유효성이 검사됩니다.cakephp의 양식 유효성 확인 문제
전자 메일 입력 필드 인 마지막 입력 필드의 유효성을 검사 할 때까지 모든 것이 올바르게 작동합니다. 이메일 입력란에 두 가지 규칙, 'rule' => 'notEmpty'
, 'rule' => 'email'
이 있습니다. 양식은 유효하지 않은 규칙 만 확인해야만 유효하지만 유효하지 않은 이메일이 발견되면 유효성을 검사하지만 유효한 이메일을 입력 한 후에도 게시하지 않습니다.
하나 :
는 여기에 몇 가지 시나리오입니다
모든 것이 잘 작동하는 모든 입력에 대한 사용자 입력 유효한 항목, 양식 게시물과 데이터가 데이터베이스에 추가됩니다.
2 : 사용자 입력 유효한 이메일 입력하지만, 모든 항목하지만 사용자 히트는 처음 세 개의 필드
모든 작업을위한 입력을 제공 한 후 제출한다고 가정하면 모든 입력
에서 유효한 이메일을 입력 첫 번째로 올바른 이메일 주소를 입력 한 후 양식 게시물과 데이터가 데이터베이스에 추가됩니다.
세 : 이메일 제외한 모든 사용자 입력이 유효한 항목 (잘못된 이메일 제공)
그것은 오류 메시지를 표시하지만, 심지어 유효한 이메일 주소를 제공 한 후에는 아무것도하지 않습니다. 제출 버튼을 계속 클릭하면 페이지가 동일한 데이터로 다시로드됩니다.
class Member extends AppModel
{
public $validate = array(
'id' => array(
'rule' => 'notEmpty'
),
'Student_First_Name' => array(
'rule' => 'notEmpty'
),
'Student_Last_Name' => array(
'rule' => 'notEmpty'
),
'Student_Email' => array(
'emailRule-1' => array(
'rule' => 'notEmpty',
'last' => false
),
'emailRule-2' => array(
'rule' => 'email',
'message' => 'Please enter a valid email address.'
))
);
}
이 컨트롤러입니다 : 제출 버튼이 초기 클릭 여기
후 다시 클릭하면
또한, 오류 메시지가 사라질 나의 모델입니다
class MembersController extends AppController { ... public function add() { if($this->request->is('post')) { $this->Member->create(); if($this->Member->save($this->request->data)) { $this->Session->setFlash('Member has been added!'); $this->redirect(array('action' => 'members')); } else { $this->Session->setFlash('Unable to add member.'); } } } }
나는 그런 간단한/성가심 문제를위한 그런 긴 포스트를 사과하지만 내 응용 프로그램/웹 사이트에서 이와 같은 것들을 갖는 것이 싫다.
감사합니다.
왜 'last'=> false'를 사용하고 있습니까? 나에게 아무런 의미가 없다. 아무도 이메일을 입력하지 않으면 올바른 형식의 이메일을 확인하지 않아도된다. – mark
그래, 그 불필요한 것, 나는 문서를 검토하고 다른 것을 시도하고 있었다. – Archon