チェックボックスがオンになったときのカスタム検証ルールを作成しようとしています。次のページに進むには、入力フィールドに入力する必要があります。チェックを外すと、入力フィールドは不要になります。
ビューでの私のコードは次のとおりです。
echo $this->Form->inputs(array(
'legend'=>'Certifications',
'rn_box'=>array(
'type'=>'checkbox',
'label'=>'RN',
'value' => $results['Education']['rn_box']
),
'rn_number'=>array(
'label'=>'RN Number:',
'value' => $results['Education']['rn_number']
),
));
私のモデルでは、関数を作成しました:
public function rnCheck () {
if ($this->data['Education']['rn_box'] == '0') {
return false;
}
return true;
}
public $validate = array(
'rn_number' => array(
'rnCheck'=>array(
'rule'=>'rnCheck',
'message'=>'Please Provide a Number'
),
),
);
チェックボックスは、チェックされている場合は値 1 を返し、チェックされていない場合は値 0 を返します。rn_number フィールドは、検証しようとしている入力フィールドです。「required」、「allowEmpty」などで遊んでみましたが、うまくいきませんでした。誰かが私を正しい方向に向けることができれば、それは素晴らしいことです、ありがとう!