你應該做的是設置在您的選擇框中無值的關鍵。
您應該爲字段保留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