簡體   English   中英

如何在Codeigniter中顯示錯誤消息

[英]how to show error message in codeigniter

我是Codeigniter的新手,正在創建將數據發送到郵件的表單。 現在,我正在進行表單驗證。 我想如果在沒有填寫表單數據的情況下單擊“提交”按鈕,則應在文本框中的占位符中顯示錯誤。 這是我的contact_us_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();?>

這是控制器中我的控制器success_form

<?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";
    }
    }

}

如果沒有任何表單,請單擊“提交”按鈕,然后應在表單的占位符中顯示錯誤。 請幫助我找出答案..我嘗試了很多,但是沒有得到解決方案..請幫助

在contact_us_view中的<form>之前,您需要添加以顯示所有錯誤

<?php echo validation_error();?>

顯示個別錯誤

<?php echo form_error('name')?>
<?php echo form_error('comapny')?>

使用form_error('fieldname')來顯示錯誤。

例如,顯示現場公司錯誤。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM