그래서 두 모델은 Company
과 User
입니다. 여기서의 관계는 다음과 같습니다CakePHP 여러 모델에 대한 하나의 양식이 제대로 유효성을 확인하지 못합니다.
회사 :
public $hasMany = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'company_id',
)
사용자 :
public $belongsTo = array(
'Company' => array(
'className' => 'Company',
'foreignKey' => 'company_id',
)
그리고 두 인스턴스가 만들어지는 한 형태가있다. 문제는 Company
필드 만 유효성을 검사하고 User
필드가 유효하지 않다는 것입니다. User
을 만들거나 편집하는 데 대한 유효성 검사 규칙이 완벽하더라도. 여기에 문제의 형식은 다음과 같습니다
echo $this->Form->create('Company', array('action'=>'register'));?>
echo $this->Form->input('Company.name', array('label'=>__('Company name*')));
echo $this->Form->input('Company.address', array('label'=>__('Address*')));
echo $this->Form->input('Company.city', array('label'=>__('City*')));
echo $this->Form->input('User.0.name', array('label'=>__('Name*')));
echo $this->Form->input('User.0.email', array('label'=>__('Email*')));
echo $this->Form->input('User.0.email_confirmation', array('label'=>__('Email confirmation')));
echo $this->Form->end(array('label'=>'Save', 'onclick'=>'disableSubmit(this)'));
나는 validate only
옵션을 충분히 알고,하지만 난 검증 작업을 할 수있는 적절한 방법이 무엇인지 궁금합니다.
도움이나 도움을 많이 주시면 감사하겠습니다. 여기
public function registerCompany($data){
unset($this->User->validate['company_id']);
if($this->saveAll($data, array('validate'=>'only'))){
if($this->saveAssociated($data)){
return true;
}
}else{
return false;
}
}
는 사용자 모델의 유효성 검사 규칙 중 일부는, REST 서비스 및 웹 클라이언트에 대한 두 가지 검증 종류가 있습니다, 그래서이는 다음과 같습니다 요청으로
, 나는뿐만 아니라 모델 논리를 제공 웹 클라이언트 전용. 참고 :이/편집 생성 한 사용자의 모든 선한 일 :
$ this->의 validate = 배열 (
'name'=>array(
'Insert user name'=>array(
'rule'=>'notEmpty',
'message'=>'Insert user name',
'last'=>false
)
)
당신이 모델의 검증을 선언 한 방법
다음, 케이크의 문서에 따르면, 당신이 구문을 사용한다 유효성 검사를 설정 해제하는? 이 코드도 우리에게 보여줄 수 있습니까? – ylerjen
친애하는 @ Miam84, 방금 모델의 논리로 질문을 업데이트했습니다. 많은 감사드립니다. – Domas
이것은 컨트롤러 코드입니다 (도움이됩니다). 'Model/User.php' 파일에서'User model'의 코드를 의미했습니다.$ validate 배열을 설정하여 모델 유효성을 확인 했어야합니다 – ylerjen