当前位置:  开发笔记 > 编程语言 > 正文

CodeIgniter表单验证 - 将结果作为"数组"而不是"字符串"

如何解决《CodeIgniter表单验证-将结果作为"数组"而不是"字符串"》经验,为你挑选了1个好方法。

我正在使用CodeIgniter编写表单验证类.有没有办法让我可以在名称值对中获取错误消息?例如,在一个样表有四个字段:user_name,password,password_conf,和timezone.其中user_namepassword验证执行以下后失败:

$result = $this->form_validation->run();

如果上面的函数返回false,我想获取名称值对中的错误,如下所示:

Array
{
  'user_name' => 'user name is required',
  'password' => 'passord is required'
}

我真的想形成一个JSON,我可以将其传递回AJAX调用.我有一个(脏)解决方案:我可以逐个调用验证方法,如下所示:

$this->form_validation->required($user_name);
$this->form_validation->required($password);

还有其他方法,在名称值对中一次性获取所有错误消息吗?

编辑:我被建议用其中一个答案用jQuery进行验证:

jQuery将有助于客户端验证,但是服务器端,我正在使用CodeIgniter验证.

我设计它是为了:

    我使用AJAX发布所有值.

    在服务器端验证(PHP).

    如果输入有效,则执行所需的操作; 否则会向用户返回错误.

Sabya.. 16

我通过查看CodeIgniter代码找到了一种方法:我已经扩展了库CI_Form_validation,如: -

class MY_Form_validation extends CI_Form_validation
{
    public function getErrorsArray()
    {
        return $this->_error_array;
    }
}

我知道,这是一个黑客,但将满足我的时间需求.我希望CodeIginter团队能够很快找到一个访问该阵列的接口.



1> Sabya..:

我通过查看CodeIgniter代码找到了一种方法:我已经扩展了库CI_Form_validation,如: -

class MY_Form_validation extends CI_Form_validation
{
    public function getErrorsArray()
    {
        return $this->_error_array;
    }
}

我知道,这是一个黑客,但将满足我的时间需求.我希望CodeIginter团队能够很快找到一个访问该阵列的接口.


这绝对是一个很好的解决方案.在codeigniter上感到羞耻,原因是没有这个功能!
这根本不是黑客攻击,这就是OOP的全部意义所在.我走在同一条路上,这是我的最终游戏,因为我没有别的选择.
推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有