데이터베이스의 도시/도시 필드에 간단한 유효성 검사를 사용하고 있습니다. 이것은 모델에 적용되었습니다. 도시와 마을을 모두 볼 수 있으므로 최소 3 자 길이가 필요하며 비워 둘 수 없습니다.CakePHP 모델 유효성 확인, 가능한 2의 1 필드에 텍스트가 있음을 확인하십시오.
그러나 사람들이이 필드에 대한 양식을 채울 때 그들은 도시 나 도시를 가지게됩니다. 유효성 검사에서이 필드 중 하나만 완료해야하는 체크를 어떻게 만듭니 까? 나는 분명히 'allowEmpty'=> true 일 수 없으므로 어떻게 구현합니까?
유효성 검사 규칙 :
'town' => array(
'rule' => array('minLength', 3),
'allowEmpty' => false,
'message' => 'Must have town'
) ,
'city' => array(
'rule' => array('minLength', 3),
'allowEmpty' => false,
'message' => 'Must have city'
) ,
어떤 제안?
function eitherOr(&$data, $orFields = array()) {
foreach ($orFields as $orField => $orValue) {
if (!empty($orValue)) {
unset($this->validationErrors[key($data)]);
}
}
return true;
}
이 그런 다음 유효성 검사 규칙에 추가 :
[이 게시물보기] (http://stackoverflow.com/questions/9719033/validation-for-at-least) -one-phone-number-is-required-in-cakephp) – Ross