別のフィールド選択に依存する数値の範囲内にあるフィールドを検証する必要があります。モデルのカスタム検証ルール内でfind( 'first')を実行する
例えば、
'rating' => array(
'within class range' => array(
'rule' => 'withinClassRange',
'message' => 'number not in range'
)
),
と
public function withinClassRange($data) {
// get class range
$classRange = $this->Edition->Aclass->find('first', array('conditions' => array('Aclass.id' => $this->data['Edition']['aclass_id'])));
if($data['rating'] < $classRange->minRange) {
return false;
}
if($data['rating'] > $classRange->maxRange) {
return false;
}
return true;
}
withinClassRange
が、この発見でのみ行うことができ、コントローラ内に。これをどのように実装すればよいですか?
おかげで、私はこれを試してみて、レポートします – khany