Php Codeigniter表单验证库
我正在使用表单验证库,但是遇到了一些我无法解决的问题 我有几个领域 我有:Php Codeigniter表单验证库,php,codeigniter,function,validation,Php,Codeigniter,Function,Validation,我正在使用表单验证库,但是遇到了一些我无法解决的问题 我有几个领域 我有: 页面标题=>必需 菜单标题=>不需要 父\u id=>null或必需 现在,如果未设置菜单标题,则应采用页面标题的值。 然后,我需要做一个检查,以确保在给定的级别上,菜单标题是唯一的 所以 但我不知道如何在表单验证库中实际使用它?您需要使用回调函数才能做到这一点。只需定义一个(稍微更改代码以适应格式)。注意,这是我脑子里想不出来的(和文档): 然后将该特定字段的输入设置为使用回调: $this->form_va
- 页面标题=>必需
- 菜单标题=>不需要
- 父\u id=>null或必需
然后,我需要做一个检查,以确保在给定的级别上,菜单标题是唯一的 所以
但我不知道如何在表单验证库中实际使用它?您需要使用回调函数才能做到这一点。只需定义一个(稍微更改代码以适应格式)。注意,这是我脑子里想不出来的(和文档): 然后将该特定字段的输入设置为使用回调:
$this->form_validation->set_rules('menu_title', 'Menu Title', 'callback_check_title');
我认为您可以在回调函数名的左侧添加一个额外的下划线,以确保CI不会对其进行路由(因为它是公共的),并且只反映您在规则中输入回调名称的位置。不过,我对此并不乐观
由于回调只接受字符串,因此只需设置一个类变量即可传递附加字段
您也可以自己处理验证,这在您的情况下可能更干净 您需要使用回调函数才能做到这一点。只需定义一个(稍微更改代码以适应格式)。注意,这是我脑子里想不出来的(和文档): 然后将该特定字段的输入设置为使用回调:
$this->form_validation->set_rules('menu_title', 'Menu Title', 'callback_check_title');
我认为您可以在回调函数名的左侧添加一个额外的下划线,以确保CI不会对其进行路由(因为它是公共的),并且只反映您在规则中输入回调名称的位置。不过,我对此并不乐观
由于回调只接受字符串,因此只需设置一个类变量即可传递附加字段
您也可以自己处理验证,这在您的情况下可能更干净 您是在哪里设置验证规则的,还是取得了这样的进展?是的,我在提交表单时有验证规则的开始,例如,我有页面标题必需检查,并且在父id上运行exists回调,这只是我没有得到的更复杂的部分。从技术上讲,我可以使用回调函数,并在函数内部通过
$this->input->post('whatever')
访问其他两个变量,但这对我来说似乎不对。嗯,是的,你需要设置自己的回调函数(例如$this->form\u validation->set\u rules)(“菜单标题”、“菜单标题”、“我的回调函数”);
,并在函数中计算查询结果。有关如何编写该函数的示例,请参阅ctrl-f并查找回调
。是的,我使用回调来确保父id确实存在,我猜我将对菜单标题使用回调,我想我最好奇的是如何使用a)将多个参数传递给回调,或者我应该直接使用post结果访问它们吗?您在哪里设置了验证规则,或者您做到了这一点?是的,在提交表单时,我有验证规则的开始,例如,我有页面标题需要检查,并且在父id上运行一个存在的回调,这只是我没有得到的更复杂的部分。从技术上讲,我可以使用回调函数,并在函数内部通过$this->input->post('whatever')
访问其他两个变量,但这对我来说似乎不对。嗯,是的,你需要设置自己的回调函数(例如$this->form\u validation->set\u rules)(“菜单标题”、“菜单标题”、“我的回调函数”);
,并在函数中计算查询结果。有关如何编写该函数的示例,请参阅ctrl-f并查找回调
。是的,我使用回调来确保父id确实存在,我猜我将对菜单标题使用回调,我想我最好奇的是如何使用a)将多个参数传递给回调,还是直接使用post结果访问它们?
$this->form_validation->set_rules('menu_title', 'Menu Title', 'callback_check_title');