Php Codeigniter一页2张表单,验证错误问题

Php Codeigniter一页2张表单,验证错误问题,php,forms,codeigniter,Php,Forms,Codeigniter,在我的一个网站上,我在一个页面上有两个表单,我遇到了一个问题,validation_errors()基本上发生的是,我正在检查其中一个表单的错误,如果有任何错误,我正在进行一些样式设置以将标签变成红色,另一个表单如何使用echo validation_errors()显示错误。当我提交不显示错误的表单时,只要设置错误样式,验证错误就会显示在表单中。我如何才能停止此操作?您的问题有点难理解,但如果我理解正确-您无法从一个控制器验证两个单独的表单,或者无法使用afaik打印所有错误的validati

在我的一个网站上,我在一个页面上有两个表单,我遇到了一个问题,
validation_errors()基本上发生的是,我正在检查其中一个表单的错误,如果有任何错误,我正在进行一些样式设置以将标签变成红色,另一个表单如何使用
echo validation_errors()显示错误。当我提交不显示错误的表单时,只要设置错误样式,验证错误就会显示在表单中。我如何才能停止此操作?

您的问题有点难理解,但如果我理解正确-您无法从一个控制器验证两个单独的表单,或者无法使用afaik打印所有错误的
validation\u errors()
处理来自不同表单的错误:

在运行验证之前,请检查是否存在隐藏字段(表单唯一的字段),或者您可以检查特定提交按钮的值

<form>
<input type="hidden" name="form1" value="whatever">
<input name="form1_email" />
<input type="submit" value="Submit Form 1" />
</form>

如果这对我没有帮助,请告诉我,并通过发布代码来澄清您的问题。

我所做的是将两个表单分开。景色会是这样的

    <?php echo validation_errors(); ?>
    <?php echo form_open('form1'); ?>
    <form id="form1" action="some_action">
    //Inputs
    </form> 
    <?php echo form_open('form2'); ?>
    <form id="form2" action="other_action">
    //Inputs
    </form>
现在,所有验证消息将显示在同一位置,但只显示每个表单的消息。希望有帮助

if (isset($form1_errors)) echo $form1_errors; // Print only form1's errors
    <?php echo validation_errors(); ?>
    <?php echo form_open('form1'); ?>
    <form id="form1" action="some_action">
    //Inputs
    </form> 
    <?php echo form_open('form2'); ?>
    <form id="form2" action="other_action">
    //Inputs
    </form>
    //Controller
    function some_action(){
    //validate form and code
    } 

    function other_action(){
    //validate form2 and code
    }