4

モデルの 1 つの検証を設定する際に、「範囲」ルールの正しい構文を取得するのに問題があります。すべてのバリエーションは、(最初の) 最小パラメーターのみを渡し、(2 番目の) 最大パラメーターを渡さないようです。

/**
 * @var   array  Validation rules
 */
public function rules()
{
    return array(
        'title' => array(
            array('not_empty'),
            array('max_length', array(':value', 50)),
        ),
        'time' => array(
            array('not_empty'),
            array('date'),
        ),
        'date' => array(
            array('not_empty'),
            array('date'),
        ),
        'limit' => array(
            array('digit'),
            array('range', array(':value', 1), array(':value', 255)),
        ),
    );
}

私もarray('range', array(':value', array(1, 255)))無駄に努力しました。

助言がありますか?

4

2 に答える 2

13

範囲ルールの正しい構文には、2 ではなく 3 つのパラメーターが必要です。ドキュメントでわかるように: http://kohanaframework.org/3.2/guide/api/Valid#range

したがって、コードは次のようになります。

array('range', array(':value', 1, 255)),
于 2012-11-04T18:15:26.590 に答える
3

範囲は [min;max] ではなく ]min;max[ であるため、制限は除外されます。

array('range', array(':value', 1, 255)) => [2;254]

于 2014-01-09T13:40:47.030 に答える