【问题标题】:CodeIgniter "form_validation.php" not working as expected?CodeIgniter“form_validation.php”没有按预期工作?
【发布时间】:2012-07-19 11:57:07
【问题描述】:

我遇到了一个问题,我看不出为什么 codeIgniter 忽略了我在“form_validation.php”中使用以下代码的规则设置。

$config = array(
'racedetails' => array(
    array(
        'field' => 'race_memberno',
        'label' => 'MembershipNumber',
        'rules' => 'required' 
    ),
    array(
        'field' => 'race_penalties',
        'label' => 'Penalties',
        'rules' => 'required' 
    )
);

然后我使用以下方法调用控制器上的验证集:

$this->form_validation->run('racedetails');

但是它在运行时总是显示 false,表单运行正常并且没有返回错误,还有什么我可能错过的吗?

上述验证运行功能在以下范围内运行(Dale 要求)

public function index($id){
    $this->load->library('form_validation');
    if($this->form_validation->run('racedetails')){$validated++;} 

    if($validated != 1){
        $this->process_template_build('entries/entry',$data);
    }else {
      echo "Validation Passed";
    }
}

【问题讨论】:

  • 你能发布这个方法的代码吗?
  • 你试过 $this->form_validation->run($config['racedetails']) 吗?
  • Yan - 是的,确实尝试过使用 $config,但它只是返回一个未定义的变量。

标签: php codeigniter validation


【解决方案1】:

我遇到了同样的问题,原因是我使用自己的 Form_validation 类来全局设置错误输出。

我忘记将规则传递给父构造函数。这就是它与自己的 MY_Form_Validation 类一起工作的方式:

class MY_Form_validation extends CI_Form_validation {

public function __construct($rules = array())
{
    parent::__construct($rules);

    $this->_error_prefix = '<div class="alert alert-danger" role="alert"><span class="title"><i class="icon-remove-sign"></i> ERROR</span>';
    $this->_error_suffix = '</div>';

}

}

【讨论】:

    【解决方案2】:

    您没有忘记在运行验证之前实际使用$config 文件吗?

    $this->form_validation->set_rules($config);
    

    【讨论】:

    • 这应该在哪里定义?因为这在控制器构造函数或函数中使用时会导致未定义的变量“$config”。
    • 我的印象是这会从 /application/config/form_validation.php codeigniter.com/user_guide/libraries/… 自动加载规则
    • 如果您创建了一个配置文件并放在 application/config/.从您的回复来看,您有 ;-) 启用日志怎么样?你可以检查你的配置文件是否真的被加载了。
    • 谢谢罗伯特,似乎没有包含“form_validation.php”配置,所以这只是手动将其加载到配置中然后将配置设置为您之前所说的规则的情况在你的第一篇文章中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    相关资源
    最近更新 更多