我在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