簡體   English   中英

無法使用codeigniters進行驗證

[英]Having trouble using codeigniters form validation

所以我第一次嘗試使用CI內置的form_validation“工具”來獲得更多利用和研究,我似乎無法掌握它。 我的視圖設置正確,我的控制器似乎正確...我的問題是當我點擊“提交”按鈕它鏈接到新功能但不顯示任何錯誤消息,無論我放入什么“名稱”,“電子郵件”框。 我希望它現在幾乎可以在任何地方顯示錯誤消息我只需要它來運行驗證並顯示錯誤消息。

控制器文件

public function intelli()
{
    $data["messages"] = "";
    $this->load->view('engage_header');
    $this->load->view('engage_nav');
    $this->load->view('intelli/content_intelli', $data);
    $this->load->view('engage_footer');

}
public function intelli_email()
{
    $this->load->helper('form', 'url'));
    $this->load->library('form_validation');

    $this->form_validation->set_rules('name_area', 'Name', 'required|alpha|xss_clean');
    $this->form_validation->set_rules('email_area', 'Email', 'required|valid_email|xss_clean');
    $this->form_validation->set_rules('phone_area', 'Phone', 'is_numeric|xss_clean');

    if ($this->form_validation->run() == FALSE) {
        $data["messages"] = "";
    } else {

        $data["messages"] = "The Email has successfully been sent";
    }

    $this->load->view('engage_header');
    $this->load->view('engage_nav');
    $this->load->view('intelli/content_intelli', $data);
    $this->load->view('engage_footer');
}

查看文件

<?php 
    $this->load->helper("form");
?>
<div class="request_demo">
    <div id="request_logo"></div>
    <div id="top_paragraph">
    Intelliship & HALO deliver immediate and quantifiable ROI.  Schedule a demo to learn how this transportation management software will positively impact your company&apos;s bottom-line profit.
    </div>
    <div id="entry_box">
    <?php  echo validation_errors();
    echo $messages;
    ?>
    <div id="request_form">
    <?php echo form_open('/index.php/site/intelli_email')?>
            <input id="name_area" type="text" placeholder="NAME" value="" required/><br/>
            <input id="email_area" type="text" placeholder="EMAIL" value="" required/><br/>
            <input id="phone_area" type="text" placeholder="PHONE" value=""><br/>
            <input id="submit_req" type="submit" value="SUBMIT">
        </form> 
    </div>
</div>

我知道代碼現在很邋,,但我只是在尋找功能而非美。 還注意到,因為我在控制器內部加載了幫助器('form'),所以在視圖中加載它是多余的。

您只為表單元素指定了id 也給他們起name

<input id="name_area" name ="name_area" type="text" placeholder="NAME" value="" required/><br/>
<input id="email_area" name="email_area" type="text" placeholder="EMAIL" value="" required/><br/>
<input id="phone_area" name="phone_area" type="text" placeholder="PHONE" value=""><br/>

Codeigniter連接規則集,其中的元素基於名稱,而不是id

或者你可以這樣給

<input type="text" name="name_area" value="">
<?php echo form_error('name_area'); ?>

對於不同的字段,forn_error值更改為像email_area,phone_area ....它顯示對應於fieldname的錯誤(驗證)。

暫無
暫無

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

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