시나리오를 규칙 구성으로 그룹화 할 수 없습니다. 대신 규칙 목록을 하나씩 만듭니다.
필드 집합에 둘 이상의 시나리오를 적용 할 수 있습니다. 예를 들어
:
public function rules()
{
return array(
// For purchases, supply the delivery address
// For registration, supply the postal address
// For payment, supply the delivery address and postal address
array('delivery_address', 'required', 'on' => array('purchase', 'payment'),
array('postal_address', 'required', 'on' => array('register', 'payment'),
// :
);
}
당신은 '조건'시나리오를 가질 수 없습니다. 조건부 규칙을 구현하려면 사용자 지정 유효성 검사를 구현하십시오.
public function rules()
{
return array(
array('postal_address', 'validateAddresses'),
);
}
public function validateAddresses($attribute,$params) {
if (!$this->deliveryAddressSameAsPostal) {
if ((empty($this->delivery_address)) {
$this->addError($attribute, 'Please supply a delivery address!');
}
}
}
감사합니다. 문제는 배달 주소가 사용자가 우편 주소와 다를 경우에만 배달 주소가 필요하다는 것입니다. 따라서 나는 그것에 대한 시나리오를 만들 수 없다. 조건부 시나리오와 같은 것이 있습니까? – Swissdude
예를 들어, 시나리오와 규칙이 혼란 스럽습니다. 내 업데이 트를 참조하십시오. – crafter