application/config/form_validation.php文件
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$config = array(
'signup' => array(
array(
'field' => 'first_name',
'label' => 'first_name',
'rules' => 'required|callback_fullname_chk'
),
array(
'field' => 'last_name',
'label' => 'last_name',
'rules' => 'required'
)
));
public function reg_form()
{
$input_data_array = (array)json_decode(file_get_contents('php://input'));
$this->form_validation->set_data($input_data_array);
if ($this->form_validation->run('signup') == FALSE)
{
$result = array('status' => 404,'message' => $this->form_validation->error_array());
$this->output->set_output(json_encode($result));
}
else
{
$result = array('status' => 200,'message' => 'Executed Succesfully','data'=>$input_data_array);
$this->output->set_output(json_encode($result));
}
}
public function fullname_chk($str)
{
if ($str == 'admin')
{
$this->form_validation->set_message('fullname_chk', 'The {field} field can not be the word "admin"');
return FALSE;
}
else
{
return TRUE;
}
}
在“fullname-chk”回调函数中,我隐式地在$str变量中获取第一个名称的值,我可以使用该值进行自定义验证。我的要求是在同一个回调中获取最后一个名称(第二个输入JSON键)的值,以及第一个名称,可能作为第二个参数,因为我不想编写业务逻辑来检查第一个名称和最后一个名称的唯一性。请帮忙。