$crud = new grocery_CRUD();
$crud->set_table('generate_eblskyid');
$crud->set_rules('salt', 'Salt Code','callback_check_salt');
$output = $crud->render();
然后在回调函数中,我做了以下操作
function check_salt($str)
{
$salt = $_POST['salt'];
if($salt > 5)
{
$this->get_form_validation()->set_message('salt',"Salt value must be less then FIVE");
return FALSE;
}
}
当我去添加记录时,如果我给出的盐值低于 5,则成功插入,但当我给出大于 5 的值时,它说"插入时出错"而不显示我的自定义消息。
我做错了什么??
你的check_salt($str)
函数应该是这样的
function check_salt($str)
{
if($str > 5)
{
$this->form_validation->set_message('check_salt',"Salt value must be less then FIVE");
return false;
}else{
return true;
}
}
set_message函数中,应该给出回调函数名称"check_salt",而不是字段名称"salt" 这应该可以解决您的问题。
这是我发现使用以下方法完成这项工作的唯一方法:
CI 3
和杂货1.6.1
$crud->set_rules('name', 'Name', array(
'required',
array(
'company_check',
function ($str) {
$company = $this->Company_model->searchCompanyByName($str);
if (count($company) > 0) {
$this->form_validation->set_message('company_check', 'Error, The company already exist.');
return false;
} else {
return true;
}
}
)
));
希望这有帮助,