Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用代码点火器表单验证2个字段中的1个_Php_Codeigniter_Validation - Fatal编程技术网

Php 使用代码点火器表单验证2个字段中的1个

Php 使用代码点火器表单验证2个字段中的1个,php,codeigniter,validation,Php,Codeigniter,Validation,我有一个问题,我正试图以一种更干净的方式来解决。基本上,我有一个表单,其中有两个字段,其中一个字段需要存在,表单才有效。我的问题是,如果我将这两个字段标记为必需字段,那么整个表单输入过程都需要它们 if ($this->input->post('field1')) { make field1 required } else if ($this->input->post('field2')) { make field2 required } else {

我有一个问题,我正试图以一种更干净的方式来解决。基本上,我有一个表单,其中有两个字段,其中一个字段需要存在,表单才有效。我的问题是,如果我将这两个字段标记为必需字段,那么整个表单输入过程都需要它们

if ($this->input->post('field1'))
{
    make field1 required
}
else if ($this->input->post('field2'))
{
    make field2 required
}
else
{
    make field1 && field2 required
}
问题在于其他方面。。。如果我让他们都需要;第一次查找错误时,它会检查要填充的两个字段,如果填充了field1,则field2将在确实不应该填充时显示为必需,并且再次检查后错误消息不会消失

另一个选项是将字段1和2保留为非必填字段,但这意味着如果他们输入正确的信息,但将这两个字段保留为空,则将提交

如有任何想法,将不胜感激


**注意:我相信我已经解决了这个问题,通过将field1+field2设置为required on load,它们会根据用户输入和submit按钮上的click事件进行更新。

在codeigniter中验证表单最干净、最简单的方法是使用表单


他们的手册真的值得一读。我目前还在开发一个使用codeigniter的应用程序,它非常有趣和简单

在codeigniter中验证表单最干净、最简单的方法是使用表单


他们的手册真的值得一读。我目前还在用codeigniter开发一个应用程序,它非常有趣和简单

是的,我刚开始使用它,我玩得很开心。我设法解决了我的问题。我不知道为什么,但可能是我的本地环境没有动态读取错误。我将两个字段1+2都设置为必填字段,然后如果用户更新表单,则根据用户的输入将字段更改为非必填字段,并相应地更新错误消息!为你的帮助干杯。是的,我刚开始,我玩得很开心。我设法解决了我的问题。我不知道为什么,但可能是我的本地环境没有动态读取错误。我将两个字段1+2都设置为必填字段,然后如果用户更新表单,则根据用户的输入将字段更改为非必填字段,并相应地更新错误消息!为帮助干杯。
First you have to manually load or auto load your library

$this->load->library('form_validation'); or $autoload['libraries']= array('form_validation');

You have to set rules for each field like

$this->form_validation('field_name','Field Label','required');