【问题标题】:form_validation in codeigniter gives "Required " Errorcodeigniter 中的 form_validation 给出“必需”错误
【发布时间】:2016-08-30 01:32:27
【问题描述】:

我目前正在开发一个 codeigniter 项目,我正在尝试使用 form_validation 库,但我遇到了一个小问题..

我创建了一个验证某些字段的函数。 例如。

public function validate_employee_data($data) {
    var_dump("EMPLOYEE");
    $this->form_validation->set_rules($data['firstname'], 'First Name', 'required');
    $this->form_validation->set_rules($data['lastname'], 'Last Name', 'required');
    $this->form_validation->set_rules($data['nickname'], 'Nick Name', 'trequired');
    $this->form_validation->set_rules($data['email'], 'Email Address', 'required|valid_email');
    $this->form_validation->set_rules($data['contact_no'], 'Contact Number', 'required|min_length[11]|max_length[12]');
    $this->form_validation->set_rules($data['group_tags'], 'Group Tags', 'required');

    if($this->form_validation->run() == FALSE) {
        echo validation_errors();
    }
    else {
        // Do something
    }
}

我试图对 $data 进行 var_dump 并且它不是空的,但是验证仍然会抛出“(此)字段是必需的”,我对这个错误不断出现的原因有点困惑。

提前谢谢各位..

【问题讨论】:

  • 能把var_dump($data)validation_errors()的内容发一下吗
  • 我已经解决了。它必须是 FORM 中指定的字段的名称。
  • 昵称字段,需要吗?不需要吗?

标签: php codeigniter


【解决方案1】:

回答:表单验证只能与表单字段名称一起使用,而不是变量本身。

【讨论】:

  • 你应该编辑你的第一篇文章以显示答案,可能对某人有用
【解决方案2】:

昵称字段,需要吗?不需要吗?

$this->form_validation->set_rules($data['nickname'], 'Nick Name', 'trequired');

$this->form_validation->set_rules($data['nickname'], 'Nick Name', 'required');

或者您的表单字段可能与验证相匹配,请验证一下

【讨论】:

    【解决方案3】:

    首先,请检查表单验证库是否加载到自动加载或您的功能上端,如果是,请忽略它。

    请使用此代码

    public function validate_employee_data($data) {
        var_dump("EMPLOYEE");
        $this->form_validation->set_rules('firstname', 'First Name', 'required');
        $this->form_validation->set_rules('lastname', 'Last Name', 'required');
        $this->form_validation->set_rules('nickname', 'Nick Name', 'required');
        $this->form_validation->set_rules('email', 'Email Address', 'required|valid_email');
        $this->form_validation->set_rules('contact_no', 'Contact Number', 'required|min_length[11]|max_length[12]');
        $this->form_validation->set_rules('group_tags', 'Group Tags', 'required');
    
        if($this->form_validation->run() == FALSE) {
            echo validation_errors();
        }
        else {
            // Do something
        }
    }
    

    参考。对于这个答案:https://www.codeigniter.com/userguide3/libraries/form_validation.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-22
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多