codeigniter $ this-> form_validation-> run()无效

时间:2013-02-07 10:59:24

标签: php codeigniter

我在config文件夹下创建了文件form_validation.php,该文件包含$ config数组,其中定义了所有验证规则。这是$ config array的示例代码

<?php

$config = array(

    'staff' => array(
        array(
            'field' => 'username',
            'label' => 'Username',
            'rules' => 'trim|required|xss_clean|callback_checkDuplicate'
        ),
        array(
            'field' => 'type',
            'label' => 'User Type',
            'rules' => 'trim|required|xss_clean'
        ),      
        array(
            'field' => 'password',
            'label' => 'Password',
            'rules' => 'trim|required|xss_clean|matches[confirm_password]'
        ),      
    ),
   'group' => array(

        array(
            'field' => 'name',
            'label' => 'Group Name',
            'rules' => 'trim|required|xss_clean'
        ), 
       array(
            'field' => 'email',
            'label' => 'Email',
            'rules' => 'trim|required|valid_email|xss_clean'
        )

    )
);
?>

我有控制器,工作人员姓名在这里我用这种方式调用验证规则

<?php

function add($id = "") {

 if ($this->input->post('submit') == 'submit') {
  if ($this->form_validation->run('staff') == FALSE) {  
     $this->load->view('admin/staff', $data);
   } else {

    // come here code for insertion in db

   }
}
}
?>

问题1:我的问题是,在编辑表单的情况下,我想跳过密码验证,以便我可以跳过密码验证,因为我的验证规则在单独的文件中定义,例如(config / form_ validation.php)我如何在这个文件中发送$ id?或任何想法来处理这个?

问题2:在编辑的情况下如何使用回调函数,就像我在规则callback_checkDuplicate中定义的那样,因为我需要发送带有函数的$ id我不知道如何发送它我想以这种方式使用函数callback_checkDupicate ['。 $ id。 ']'。 感谢您提前帮助我解决上述问题。

最诚挚的问候 Niaz Ahmad

0 个答案:

没有答案