你应该做的是设置在您的选择框中无值的关键。
您应该为字段保留not_empty规则。那么你应该有一个规则来确保该值是product_methodology或零的合法值。
我延长ORM,并有以下两种功能:
public function exists_or_zero(Validation $validation, $field, $model, $pk)
{
// The exists() function is only called if the field has a non-zero value
if ($validation[$field]) {
$this->exists($validation, $field, $model, $pk);
}
}
public function exists(Validation $validation, $field, $model, $pk)
{
if (! ORM::factory($model, $pk)->loaded()) {
$validation->error($field, 'exists', array($validation[$field]));
}
}
如果要使用这些功能,你在产品规则类会是什么样子:
public function rules()
return array(
'product_methodology_id' => array(
array('not_empty'),
array(array($this, 'exists_or_zero'), array(':validation', ':field', 'product_methodology', ':value')),
),
);
}
你用什么Kohana的版本? Ko3.1为模型领域提供了特殊的过滤方法。 – biakaveron 2011-06-02 05:29:48
我在版本3.1。 – 2011-06-02 15:18:49