1
    //View

    echo $this->Form->input('adult', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));
    echo $this->Form->input('concession', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));

    //Model

    ...

私が抱えている問題は、個々のフィールドの検証をコーディングする方法を知っていますが、ここでは「大人」フィールドと「譲歩」フィールドを一緒に比較し、それらの合計が「1」未満の場合にエラーを出したいということです。

ここでのアドバイスは素晴らしいでしょう。

ありがとう

4

1 に答える 1

4

次のように、モデルにカスタム検証ルールを作成できます。

function atLeastOneSelected($data)
{
    if (empty($this->data[$this->alias]['adult']) && empty($this->data[$this->alias]['concession'])) {
        // both fields are empty
        return false;
    }
    return true;
}

および検証配列で。

public $validate = array(
    'adult' => 'atLeastOneSelected',
    'concession' => 'atLeastOneSelected',
);
于 2013-03-23T14:54:42.217 に答える