jjzjj

php - Codeigniter validation_errors() 总是返回空

coder 2024-04-20 原文

我使用以下验证规则将一个简单的表单添加到我的数据库中。 “表单”在 autoload.php 中。

每当任何验证规则被破坏时,页面都不会显示错误输出,当没有任何规则被破坏时,表单会按预期进行。

这是我的 Controller 函数

  public function add()
{

    $this->load->library('form_validation');
    $this->load->library('layout');
    // field name, error message, validation rules
    $this->form_validation->set_rules('type', 'Type', 'required|xss_clean');
    $this->form_validation->set_rules('title_type', 'Title type', 'required|xss_clean');
    $this->form_validation->set_rules('first_name', 'First name', 'trim|required|min_length[1]|max_length[150]|xss_clean');
    $this->form_validation->set_rules('surname', 'Surname', 'trim|required|min_length[1]|max_length[150]|xss_clean');
    $this->form_validation->set_rules('job_title', 'Job title', 'trim|min_length[5]|max_length[300]required|xss_clean');
    $this->form_validation->set_rules('office_number', 'Office number', 'trim|min_length[2]|max_length[11]|xss_clean');
    $this->form_validation->set_rules('telephone', 'Telephone', 'trim|numeric|xss_clean');
    $this->form_validation->set_rules('email', 'Email', 'trim|valid_email|xss_clean');
    $this->form_validation->set_rules('website', 'Website', 'trim|prep_url|xss_clean');
    $this->form_validation->set_rules('background', 'Background', 'trim|xss_clean');


    $data = array(
        'title' => 'Add staff member'
    );

    if ($this->form_validation->run() == FALSE) { //Was errors

        $this->session->set_flashdata('message','You missed some details, please try again.');

        $this->layout->load('default', 'add_person', $data);
    } else {
        $this->people_model->add_person();
        $this->layout->load('default', 'added_person', $data);
    }


} //add

在我的表单 View 中我有

    <?php echo validation_errors('<p class="msg msg-error">') ?>

谁能看出我做错了什么,我已经尝试了所有我能想到的。

validation_errors() 的 var_dump 给出

string '' (length=0)

编辑:奇怪的是,如果我交换这两行,我会得到:

    $this->load->library('form_validation');
    $this->load->library('layout'); //lib code http://pastebin.com/K1rBV512

Message: Undefined property: People::$form_validation

Filename: controllers/people.php

Line Number: 27

最佳答案

您需要将 $data 数组传递给您的模型。所有输入都需要从 VIEW 页面获取 POST。您没有显示任何具体错误,因此很难诊断您的问题。

确保您在MODELPOST 所有输入:

`'first_name' => $this->input->post('first_name'),`


在您的 View 中:

<?php echo validation_errors('<p class="msg msg-error">') ?>

在您的 View 中将其更改为:

<p class="msg msg-error"><?php echo validation_errors(); ?></p>

关于php - Codeigniter validation_errors() 总是返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13013794/

有关php - Codeigniter validation_errors() 总是返回空的更多相关文章

  1. php - 这个隐藏输入的正确模式是什么 - 2

    我有这个字段由curl_exec返回:<inputname="NUMBER_R"type="hidden"value="1500000">150000是一个随机数,可能会变,其他都是常量我试过:preg_match('/<inputname="NUMBER_R"type="hidden"value="([^"]*)"\/>/',$result,$number)还有:preg_match('/<inputname=\'NUM

  2. php - 登录后Opencart登录到上一个查看的页面? - 2

    登录后Opencart登录到上一个查看的页面?有人知道如何做到这一点吗?正在处理1.5.4版本希望有人能提供建议/帮助!谢谢! 最佳答案 要实现这个场景:用户点击登录链接。用户填写登录表单并点击提交按钮。在他登录后,您希望他重定向到他点击“登录”链接的页面。您必须编辑catalog/controller/account/login.phpcontroller。在publicfunctionindex(){行之后添加:if(!isset($this->session->data['login_redirect

  3. php - 扩展、修改或覆盖 Joomla 的 bootstrap.php? - 2

    所以我一直在玩Joomla3和Bootstrap。起初我不完全理解他们将Bootstrap嵌入到CMS中是什么意思-看起来你可以调用它但必须使用Javascript或模板覆盖来匹配预期的输出。并不比手动调用Bootstrap框架方便多少。然后我发现了一些关于libraries/cms/html/bootstrap.php的链接-非常高兴:http://doc.joomladev.eu/api3/Joomla-Libraries/HTML/JHtmlBootstrap.html;https://groups.google.com/group/joomla-dev-cms/browse_t

  4. php - ZF2 ldap分页 - 2

    我在使用LDAP库和ActiveDirectory时遇到了一些问题。由于AD的限制,如果参数将返回超过1000个结果,我将无法使用LDAP库进行搜索。此外,似乎没有办法使用ZF2LDAP库对结果进行分页。我知道如何分页,但我宁愿使用ZF2内置方法(如果存在的话)。我是否遗漏了什么,或者我是否必须创建自己的方法来实现这一点?附言我查看了手册和代码,但看不到任何实现此目的的方法。 最佳答案 这就是我为解决这个问题所做的/***AnLDAPsearchroutineforfindinginformationandreturningpagi

  5. php - 如何从 http 更改为 https? - 2

    谁能告诉我如何从http更改为htpps?我的域名有SSL。我曾经在根目录中创建文件.htaccess,但它根本不起作用。这是.htaccess的代码RewriteEngineOnRewriteCond%{HTTPS}offRewriteRule^(.*)$https://mysite.com/$1[R=301,L]请帮助,提前致谢。 最佳答案 对于直接访问,这似乎是要走的路:RewriteEngineon#rewritetoHTTPSRewriteCond${HTTPS}!onRewriteRule^/?(.*)https://%

  6. php Stamping - 使用另一个 pdf 或 html 为 pdf 加水印 - 2

    假设我有stamp.pdf或stamp.html和original.pdf。stamp.pdf(stamp.html)包含一个图章,我想将stamp.pdf放在original.pdf上在某个位置并生成一个新的pdf-original_stamped.pdf我想将stamp.pdf作为pdf(矢量图形)或html插入,但不转换为光栅图像,然后插入到original_stamped.pdf我说的是加盖戳记或水印(在页面上),而不仅仅是向pdf添加额外的页面。有什么想法吗?谢谢! 最佳答案 答案是这样的:$pdf=newFPDI();$

  7. PHP 正则表达式与号问题 - 2

    我使用以下正则表达式来验证用户名(注册表单中的输入类型文本),以确保用户名仅包含字母数字字符、点、破折号或下划线。if(!preg_match('/^[a-zA-Z0-9\.\_-]+$/',$my_name)){echo'no_valid';}当我在文本字段中键入例如%或#或@时,我会正确返回错误消息,指出它不是有效的用户名,并且有效字符(.-_)也被接受,所以它似乎工作正常,直到当我输入&或+时,我就可以输入之前使用preg_match排除的任何无效字符。谁能告诉我为什么会这样,我该如何解决这个问题? 最佳答案

  8. php - 如何更正我的正则表达式以不匹配以字符开头的特定表达式 - 2

    在PHP中,我试图创建一个没有成功的正则表达式,它应该匹配由数字和单个“结束”字符组成的表达式,只有数字前面没有F。这是一个要匹配的示例字符串$test="123A456C789XF765S333333AF444G";和下面的正则表达式preg_match_all("/(?<!F)(\d+)([ASTCGX])+/",$test,$matches)找到以下表达式:123A456C789X65S33333A44G虽然我期望只有以下匹配:123A456C789X333333A我不想将数字\d+分开以匹配正则表达式。像F\d+[ACXSG]+这样的表达式

  9. php - OOP——我应该开发多少类? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我刚刚开始使用类,而不再使用过程式编程。但是我在前进的过程中有一些疑问。1-正如我在标题中所写,我应该开发多少类?到目前为止,我已经为站点的注册/登录部分开发了以下类:数据访问层(几乎每个类都会调用)注册(验证表格并发送包含激活码的电子邮件)用户登录激活(检查代码/发送带有新代码的新电子邮件)通过恢复(检查恢复代码/发送带有新代码的新电子邮件/处理新密码表

  10. php从url解析xml - 2

    http://www.bank.lv/vk/xml.xml?date=20130530$url='http://www.bank.lv/vk/xml.xml?date=20130530';$xml=simplexml_load_file($url)ordie("feednotloading");$Rate=$xml->Currency[1]->Rate;echo$Rate;echo'BREAKHTML';echo"-----";echo"//";var_dump($xml);echo"/

随机推荐

  1. php - 这个隐藏输入的正确模式是什么 - 2

    我有这个字段由curl_exec返回:<inputname="NUMBER_R"type="hidden"value="1500000">150000是一个随机数,可能会变,其他都是常量我试过:preg_match('/<inputname="NUMBER_R"type="hidden"value="([^"]*)"\/>/',$result,$number)还有:preg_match('/<inputname=\'NUM

  2. php - 登录后Opencart登录到上一个查看的页面? - 2

    登录后Opencart登录到上一个查看的页面?有人知道如何做到这一点吗?正在处理1.5.4版本希望有人能提供建议/帮助!谢谢! 最佳答案 要实现这个场景:用户点击登录链接。用户填写登录表单并点击提交按钮。在他登录后,您希望他重定向到他点击“登录”链接的页面。您必须编辑catalog/controller/account/login.phpcontroller。在publicfunctionindex(){行之后添加:if(!isset($this->session->data['login_redirect

  3. php - 扩展、修改或覆盖 Joomla 的 bootstrap.php? - 2

    所以我一直在玩Joomla3和Bootstrap。起初我不完全理解他们将Bootstrap嵌入到CMS中是什么意思-看起来你可以调用它但必须使用Javascript或模板覆盖来匹配预期的输出。并不比手动调用Bootstrap框架方便多少。然后我发现了一些关于libraries/cms/html/bootstrap.php的链接-非常高兴:http://doc.joomladev.eu/api3/Joomla-Libraries/HTML/JHtmlBootstrap.html;https://groups.google.com/group/joomla-dev-cms/browse_t

  4. php - ZF2 ldap分页 - 2

    我在使用LDAP库和ActiveDirectory时遇到了一些问题。由于AD的限制,如果参数将返回超过1000个结果,我将无法使用LDAP库进行搜索。此外,似乎没有办法使用ZF2LDAP库对结果进行分页。我知道如何分页,但我宁愿使用ZF2内置方法(如果存在的话)。我是否遗漏了什么,或者我是否必须创建自己的方法来实现这一点?附言我查看了手册和代码,但看不到任何实现此目的的方法。 最佳答案 这就是我为解决这个问题所做的/***AnLDAPsearchroutineforfindinginformationandreturningpagi

  5. php - 如何从 http 更改为 https? - 2

    谁能告诉我如何从http更改为htpps?我的域名有SSL。我曾经在根目录中创建文件.htaccess,但它根本不起作用。这是.htaccess的代码RewriteEngineOnRewriteCond%{HTTPS}offRewriteRule^(.*)$https://mysite.com/$1[R=301,L]请帮助,提前致谢。 最佳答案 对于直接访问,这似乎是要走的路:RewriteEngineon#rewritetoHTTPSRewriteCond${HTTPS}!onRewriteRule^/?(.*)https://%

  6. php Stamping - 使用另一个 pdf 或 html 为 pdf 加水印 - 2

    假设我有stamp.pdf或stamp.html和original.pdf。stamp.pdf(stamp.html)包含一个图章,我想将stamp.pdf放在original.pdf上在某个位置并生成一个新的pdf-original_stamped.pdf我想将stamp.pdf作为pdf(矢量图形)或html插入,但不转换为光栅图像,然后插入到original_stamped.pdf我说的是加盖戳记或水印(在页面上),而不仅仅是向pdf添加额外的页面。有什么想法吗?谢谢! 最佳答案 答案是这样的:$pdf=newFPDI();$

  7. PHP 正则表达式与号问题 - 2

    我使用以下正则表达式来验证用户名(注册表单中的输入类型文本),以确保用户名仅包含字母数字字符、点、破折号或下划线。if(!preg_match('/^[a-zA-Z0-9\.\_-]+$/',$my_name)){echo'no_valid';}当我在文本字段中键入例如%或#或@时,我会正确返回错误消息,指出它不是有效的用户名,并且有效字符(.-_)也被接受,所以它似乎工作正常,直到当我输入&或+时,我就可以输入之前使用preg_match排除的任何无效字符。谁能告诉我为什么会这样,我该如何解决这个问题? 最佳答案

  8. php - 如何更正我的正则表达式以不匹配以字符开头的特定表达式 - 2

    在PHP中,我试图创建一个没有成功的正则表达式,它应该匹配由数字和单个“结束”字符组成的表达式,只有数字前面没有F。这是一个要匹配的示例字符串$test="123A456C789XF765S333333AF444G";和下面的正则表达式preg_match_all("/(?<!F)(\d+)([ASTCGX])+/",$test,$matches)找到以下表达式:123A456C789X65S33333A44G虽然我期望只有以下匹配:123A456C789X333333A我不想将数字\d+分开以匹配正则表达式。像F\d+[ACXSG]+这样的表达式

  9. php - OOP——我应该开发多少类? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我刚刚开始使用类,而不再使用过程式编程。但是我在前进的过程中有一些疑问。1-正如我在标题中所写,我应该开发多少类?到目前为止,我已经为站点的注册/登录部分开发了以下类:数据访问层(几乎每个类都会调用)注册(验证表格并发送包含激活码的电子邮件)用户登录激活(检查代码/发送带有新代码的新电子邮件)通过恢复(检查恢复代码/发送带有新代码的新电子邮件/处理新密码表

  10. php从url解析xml - 2

    http://www.bank.lv/vk/xml.xml?date=20130530$url='http://www.bank.lv/vk/xml.xml?date=20130530';$xml=simplexml_load_file($url)ordie("feednotloading");$Rate=$xml->Currency[1]->Rate;echo$Rate;echo'BREAKHTML';echo"-----";echo"//";var_dump($xml);echo"/