在为我的某个模型设置验证时,我无法获得“范围”规则的正确语法。每个变化似乎只传递(第一个)最小参数而不传递(第二个)最大值。
/**
* @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)))
无济于事。
有什么建议吗?
答案 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]