2016-07-11 9 views
0

단일 페이지에서 양식의 유효성을 검사하려고합니다. 아래는 내가 시도한 것이지만 $validation->test()는 작동하지 않는 것 같습니다. first_name 필드의 유효성을 검사하면 다른 페이지로 리디렉션됩니다. 나는이 URL에 붙어있다 : http://localhost/mysite/index.php/buy/process/. 나는 5.6.x를 사용하고있다. 내가 뭘 잘못하고 있는지 모르겠다.Concrete5 유효성 검사가 한 페이지에서 작동하지 않습니다.

<form enctype="multipart/form-data" id="buy" class="buy-form" method="post" action="<?php echo $this->action('process')?>">.....</form> 

답변

0

내가

$validation->addRequired('first_name', 'First Name must not be empty');

$validation->addRequired($this->post('first_name'), 'First Name must not be empty');

을 대체했다 :

public function process() { 
    $validation = Loader::helper('validation/form'); 
    $validation->setData($this->post()); 
    $validation->addRequired($this->post('first_name'), 'First Name must not be empty'); 
    if ($validation->test()) { 
     .... 
     .... 
     $this->redirect('/buy/step2'); 
    } else { 
     $errorArray = $validation->getError()->getList(); 
     $this->set('errorArray', $errorArray); 
    } 
} 

이 기능은 뷰에서 호출

그랬어.