Kohana验证:范围规则的正确语法

时间:2012-11-04 17:31:38

标签: php kohana kohana-3.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)))无济于事。

有什么建议吗?

2 个答案:

答案 0 :(得分:13)

范围规则的正确语法需要3个参数而不是2个。 正如您在文档中看到的那样:http://kohanaframework.org/3.2/guide/api/Valid#range

所以代码必须是这样的:

array('range', array(':value', 1, 255)),

答案 1 :(得分:3)

小心,范围是] min; max [not [min; max],所以排除限制

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