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
}