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. ruby - 使用内置的 Ruby JSON 库反序列化 JSON 原语 - 2

    为什么Ruby的内置JSON不能反序列化简单的JSON原语,我该如何解决这个问题?irb(main):001:0>require'json'#=>trueirb(main):002:0>objects=[{},[],42,"",true,nil]#=>[{},[],42,"",true]irb(main):012:0>objects.eachdo|o|irb(main):013:1*json=o.to_jsonirb(main):014:1>beginirb(main):015:2*pJSON.parse(json)irb(main):016:2>rescueException=>ei

  2. ruby - 在 gem 上运行测试的简单方法? - 2

    有没有一种快速简便的方法来测试已在本地安装的gem?喜欢:gemtestgem_name_to_testrubygemsdocs说可以将gem:--run-tests放在~/.gemrc文件中,以便在安装gem时运行单元测试。虽然我无法让它工作,但这并不是我所需要的。 最佳答案 您可以导航到gem所在的位置并从那里运行测试,例如:$cd~/.rvm/gems/ruby-1.9.2-p290/gems/awesome_print-0.4.0$rakespec请注意,可能需要通过bundler或gem安装其他依赖项

  3. Ruby:是否有关键字可以从自身内部调用方法(类似于 super)? - 2

    我想知道:在Ruby中,有没有一种方法可以在不使用其名称的情况下从自身内部调用方法?如果该方法是通过某些元编程技术创建的,那么通过其名称调用它可能会难以阅读。即使对于通常定义的方法,如果您不确定它的好名字,或者如果它的名字很长,通过一些关键字(类似于super)从自身内部调用它可能会很方便。 最佳答案 您可以使用Kernel#__method__以Symbol形式返回当前方法的名称。与super不同,它不是关键字而是常规方法,因此您必须将它连同必需的参数一起传递给send方法才能调用该方法。这是__method__返回的内容:obj

  4. ruby - Ruby 中的堆栈级别太深 - 2

    classMyClassdefmethod_missing(name,*args)name=name.to_s10.timesdonumber=rand(100)endputs"#{number}and#{name}"endend你好,我正在练习ruby​​,但在这个非递归函数中,我在使用这段代码时遇到堆栈级别太深的错误。x=MyClass.Newx.try 最佳答案 您的代码的问题是times()中定义的number变量超出了method_missing()范围。因此,当该行被执行时,Ruby将其解释为对self的方法调用。在正常

  5. ruby - 使用 Mechanize gem 根据链接在 DOM 中的位置返回链接集合 - 2

    我正在为Mechanize而苦苦挣扎。我希望“单击”一组只能通过其位置(div#content中的所有链接)或其href来识别的链接。以上两种识别方法我都试过了,都没有成功。从文档中,我无法弄清楚如何根据链接在DOM中的位置而不是直接通过链接上的属性返回一组链接(用于单击)。其次,documentation建议你可以使用:href来匹配部分href,page=agent.get('http://foo.com/').links_with(:href=>"/something")但我让它返回链接的唯一方法是传递一个完全限定的URL,例如page=agent.get('http://foo

  6. ruby-on-rails - Ruby float 学 - Sum Calc 中的精度问题 - 2

    大家早上好我在float学方面遇到了一些问题,完全迷失在“.to_f”、“*100”和“.0”中!我希望有人能帮助我解决我的具体问题,并准确解释他们的解决方案为何有效,以便我下次理解这一点。我的程序需要做两件事:对一组小数求和,确定它们的和是否正好为1.0确定1.0与数字总和之间的差值-将变量的值设置为使总和等于1.0的精确差值。例如:[0.28,0.55,0.17]->总和应为1.0,但我一直得到1.xxxxxx。我正在以下列方式实现总和:sum=array.inject(0.0){|sum,x|sum+(x*100)}/100我需要此功能的原因是我正在读取一组来自excel的小数。

  7. ruby - 机架/Sinatra LoadError : cannot load such file - 2

    我正在尝试使用Sinatra、Ruby、rack、haml、pony和SendGrid构建一个应用程序,并使用git和RVM部署在Heroku上。该应用程序是一个博客变体,应该发送一封电子邮件,其中包含在表单上提交的评论。在我的本地服务器上,当表单提交时出现以下错误:LoadErrorat/cannotloadsuchfile--ponyfile:tools.rblocation:requireline:314BACKTRACE(expand)/Users/Kevin/prog/ruby/Sinatra/Noobs/noobs.rbinblockinrequire'pony'在Hero

  8. ruby-on-rails - Rails 数据/基准变形问题 - 2

    在我的Rails3.2.6应用程序中,我有一个模型表示有关小部件的数据集合。在我看来,此类的正确名称是WidgetData,复数形式,因为每个小部件有不止一项数据。如果我要求Rails为这个类生成一个表单:=form_for@widget_datado|f|...我得到一个错误ActionView::Template::Error(undefinedmethod'widget_datum_path'...。大概这是因为Rails数据/数据变形规则。我不确定如何最好地解决这个问题:我可以让Rails指示我的模型实际上应该是WidgetDatum。或者我可以以某种方式在这种特殊情况下禁用变

  9. ruby-on-rails - 访问 Rails Assets 的相对路径 - 2

    我卡住了!xD我一直在处理一个Rails项目,但在使用相对路径访问我的Assets时遇到了问题。我的一个friend正在处理html/css方面的事情,而我正在处理Controller和模型。我的friend最近给了我一批结构如下的文件:app/assets/images/*.jpgapp/assets/stylesheets/*.cssapp/assets/javascripts/*.jsapp/assets/fonts/*.*(+somemorecssfilesinhere)在我的app/views/layouts目录中,我有一个名为final.html.erb的布局,用于我的整个

  10. ruby-on-rails - 编写多行 ActiveRelation 查询的惯用方法是什么? - 2

    我的应用程序中有许多多行ActiveRelation查询方法,我不确定编写这些方法的最惯用方式。看看这个例子:defpostal_code_ids_within(miles)nearby_postal_codes=PostalCode.where("latitude>:min_latandlatitude:min_lonandlongitude我觉得有点不对劲。从中返回ActiveRelation对象的block似乎是惯用的,但我还没有看到这种方法。什么是标准? 最佳答案 根据Brian的建议,这更易读并且效果很好。scope:ne

随机推荐