douyuliu9527 2016-05-12 07:46
浏览 76

如何在codeigniter中显示错误消息

I am new on codeigniter and creating form which is sending data to mail. Now I am working on form validation . I want if any one click on submit button without filling form data then error should be shown in the placeholder in text box. Here is my contact_us_view page in view

<?php 
        $form=array('class'=>'contact-form default-form','id'=>'myform');
        echo form_open('success_form',$form);
        ?>
        <div class="row">

          <div class="col-md-12">
            <div class="preamble col-md-12">
              <h3>Get in touch</h3>
            </div>
          </div>
          <div class="col-md-6">
            <?php
            $name=array('placeholder'=>'Name','name'=>'name');
            echo form_input($name);
            ?>
          </div>
          <div class="col-md-6">
            <?php
            $company=array('placeholder'=>'Company','name'=>'company');
            echo form_input($company);
            ?>
          </div>
          <div class="col-md-6">
            <?php
            $number=array('placeholder'=>'Phone Number','name'=>'number');
            echo form_input($number);
            ?>
          </div>
          <div class="col-md-6">
            <?php
            $email=array('placeholder'=>'Email','name'=>'email');
            echo form_input($email);
            ?>
          </div>
          <div class="col-md-6">
            <span class="arrival calendar">
            <?php
            $arrival=array('name'=>'arrival','placeholder'=>'Arrival','data-dateformat'=>'m/d/y');
            echo form_input($arrival);
            ?>
                <i class="fa fa-calendar"></i>
            </span>
          </div>
          <div class="col-md-6">
            <span class="departure calendar">
            <?php
            $departure=array('name'=>'departure','placeholder'=>'Departure','data-dateformat'=>'m/d/y');
            echo form_input($arrival);
            ?>
               <i class="fa fa-calendar"></i>
            </span>
          </div>
          <div class="col-md-12">

            <span class="select-box" title="hotel-type">
              <select name="person" data-placeholder="Number of People">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
                <option value="10+">10+</option>
              </select>
            </span>
          </div>
          <div class="col-md-12">
            <textarea placeholder="How we can help you"></textarea>
          </div>
          <div class="col-lg-md text-center">
            <button class="btn btn-transparent-white">Send Message</button>
          </div>
        </div>
      <?php echo form_close();?>

here is my controller success_form in controller

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Success_form extends CI_Controller{

    public function __construct() {
        parent::__construct();
        $this->load->library(array('session', 'form_validation', 'email'));
    }

    public function index(){

        // Set Validation Rule

        $this->form_validation->set_rules('name','Name','trim|required|xss_clean|callback_alpha_space_only','required');
        $this->form_validation->set_rules('company','Company','trim|required|xss_clean|callback_alpha_space_only');
        $this->form_validation->set_rules('number','Mobile Number','required|regex_match[/^[0-9]{10}$/]');
        $this->form_validation->set_rules('email', 'Emaid ID', 'trim|required|valid_email');
        $this->form_validation->set_rules('arrival','Arrival','trim|required|xss_clean');
        $this->form_validation->set_rules('departure','Departure','trim|required|xss_clean');
        $this->form_validation->set_rules('person','Number of Person','trim|required|xss_clean|numeric');


    //Run Validation on Form Input

    if($this->form_validation->run()==FALSE){
     // Validation fails
        $this->load->view('contact_us_view');
    }
    else{
        echo "successfully";
    }
    }

}

without filling form if any one click on submit button then error should be shown in placeholder of form. please help me to find out the answer ..i try lot but didnt get solution ..please help

  • 写回答

2条回答 默认 最新

  • duanlian1978 2016-05-12 07:59
    关注

    Use form_error('fieldname') to display errors.

    For example to display field company error.

    <?php
        $company = array('placeholder' => !empty(form_error('company')) ? form_error('company') : 'Company' ,'name' => 'company');
        echo form_input($company);
    ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题