0

小花 3.2

我想检查我的 parent_id,但我需要 type_id 的第二个值。代码:

public function rules()
{ 
return array(
'type_id' => array(
array('not_empty'),
array('digit'),
),

'parent_id' => array(
array('digit'),
array(array($this,'check_category'),array(':value', ':field','type_id'))
),


);

}

public function check_category($parent_id,$field,$type_id)
{
die($type_id);
}

如何将我的字段的两个值发送到我的函数?

在我的控制器中完成之后:

if(isset($_POST['submit']))
        {
            $data = Arr::extract($_POST, array('type_id', 'parent_id', 'name', 'comment'));
            $category = ORM::factory('kindle_category');
            $category->values($data);

            try {
                $extra_rules = Validation::factory($_POST)
                ->rule('parent_id','Kindle::check_category',array($data['type_id'],$data['parent_id'],'parent_id',':validation'));
                $category->save($extra_rules);

                $this->request->redirect('kindle/category');
            }
            catch (ORM_Validation_Exception $e) {

                $errors = $e->errors('validation');

            }
        }

if($parent->type_id!=$type_id) 
            {
                $validation->error($field, 'Dog name, not cat!');
                return false;
            }

如何查看我的错误“狗名,而不是猫!” 在我的视图中?数组错误没有这个值。

4

1 回答 1

1
public function rules()
{
    return array(
        'type_id' => array(
            array('not_empty'),
            array('digit'),
        ),

        'parent_id' => array(
            array('digit'),
            array(array($this,'check_category'),array(':validation'))
    ),
);

}

public function check_category($validation)
{
    $type_id = $validation['type_id'];
    ...
}

http://kohanaframework.org/3.2/guide/orm/examples/validation

于 2012-07-19T17:10:58.327 回答