2012-08-23 9 views
0

그래서 처음으로 CI의 form_validation "tool"을 사용하여 많은 도움을 얻을 수있는 연구를 시도하고 있습니다. 내보기 설정에서 모든 것과 올바르게 내 컨트롤러를 보인다 ... 나의 문제는 "제출"단추를 클릭하면 새 기능에 연결되지만 입력 한 내용에 관계없이 오류 메시지가 표시되지 않습니다. "이름", "이메일"상자. 난 사실상 어디서나 오류 메시지를 표시하도록 찾고 있어요 지금은 그냥 유효성 검사를 통해 실행하고 오류 메시지를 표시해야합니다.codeigniters를 사용하는 데 문제가 있습니다.

컨트롤러 파일

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')를 컨트롤러 내부에로드 할 때부터 뷰에로드하는 것이 중복되므로주의해야합니다.

답변

2

양식 요소에 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를 기반으로 요소와 규칙 세트를 사귀는

0

아니면 다른 분야에 대해이

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

forn_error처럼 제공 할 수 있습니다 값은 email_area, phone_area ...와 같이 변경됩니다. 필드 이름에 해당하는 오류 (유효성 검사)를 표시합니다.

관련 문제