gpt4 book ai didi

php - CodeIgniter 表单验证 - 获取结果为 "array"而不是 "string"

转载 作者:IT王子 更新时间:2023-10-29 00:17:24 25 4
gpt4 key购买 nike

我正在使用 CodeIgniter 编写我的表单验证类。有什么办法可以让我在名称值对中收到错误消息吗?例如,在示例表单中有四个字段:user_namepasswordpassword_conftimezone。其中 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 验证。

我设计它是为了:

  1. 我使用 AJAX 发布所有值。
  2. 在服务器端验证 (PHP)。
  3. 如果输入有效则执行所需的操作;否则将错误返回给用户。

最佳答案

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

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

我知道,这是一个 hack,但可以满足我当时的需要。我希望 CodeIginter 团队尽快想出一个访问该数组的接口(interface)。

关于php - CodeIgniter 表单验证 - 获取结果为 "array"而不是 "string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/468139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com