CodeIgniter Polska Forum

Witamy na polskiej stronie wsparcia CodeIgniter. Nie zapomnij odwiedzić naszej strony głównej

Nie jesteś zalogowany na forum.

#1 25-09-2012 22:32:11

robroy
Użytkownik
Data rejestracji: 25-09-2012
Liczba postów: 1

form_validation w CI 2.1.2

Witam,

Mam problem z biblioteką walidacji a raczej wyświetlaniem błędów, cały mój kontroler wygląda tak:

class Register extends CI_Controller {

    function __construct() // <-----probowałem z tym konstruktorem jak i bez niego
    {
		parent::__construct();
    }

	function index() 
	{
		$this->load->helper(array('form', 'url'));
		$this->load->library('form_validation');
		
			   $head['title'] = '******';
			$head['keywords'] = '****';
		 $head['description'] = '******';
		 $footer['fb_app_id'] = fb_app_id;
		  $upper['fb_app_id'] = fb_app_id;
		
		$rules = array(
			array(
					'nick',
					'Login / Pseudonim / Nick',
					'trim|required'
				 ),
			array(
					'password',
					'Hasło',
					'required'
				 ),
			array(
					'password_r',
					'Hasło potórzone',
					'required'
				 ),
			array(
					'name',
					'Imię',
					'trim|required'
				 ),
			array(
					'sourname',
					'Nazwisko',
					'trim|required'
				 ),
			array(
					'email',
					'Adres e-mail',
					'trim|required|email|is_unique[ad_users.email]'
				 ),
			array(
					'gg',
					'Numer gg',
					'required|trim|min_length[4]|max_length[11]'
				 ),
			array(
					'hidden_name',
					'Widoczne Imie i Nazwisko dla pozostałych zarejestrowanych użytkowników',
					'required|is_natural|exact_lenght[1]|greater_than[0]'
				 )
		);
		
		$this->form_validation->set_rules($rules);
				
		if ($this->form_validation->run() == FALSE)
		{
				$this->form_validation->set_message('email', 'ZZZ %s ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ');
		var_dump(form_error('email'), form_errors()); //<------------------------------------Tutaj  nic! zero błędu, string wyświetlany jako ''
		
		$attributes_label = array('class' => 'register_label','style' => '');
			  $attributes = array('class' => 'register', 'id' => 'myform', 'name' => 'register');
			$data['form'] = form_open('register', $attributes);
			$data['nick'] = form_input(array( 'name' => 'nick', 'id'  => 'nick', 'value' => '', 'maxlength'   => '20', 'size' => '20', 'style' => ''));
		  $data['nick_l'] = form_label('Login &raquo;', 'nick', $attributes_label);
		$data['password'] = form_password(array( 'name' => 'password', 'id'  => 'password', 'value' => '', 'maxlength'   => '30', 'size' => '30', 'style' => ''));
	  $data['password_l'] = form_label('Hasło &raquo;', 'password', $attributes_label);
	  $data['password_r'] = form_password(array( 'name' => 'password_r', 'id'  => 'password_r', 'value' => '', 'maxlength'   => '30', 'size' => '30', 'style' => ''));
	 $data['password_rl'] = form_label('Powtórz hasło &raquo;', 'password_r', $attributes_label);
	        $data['name'] = form_input(array( 'name' => 'name', 'id'  => 'name', 'value' => '', 'maxlength'   => '20', 'size' => '20', 'style' => ''));
	      $data['name_l'] = form_label('Imię &raquo;', 'name', $attributes_label);
		$data['sourname'] = form_input(array( 'name' => 'sourname', 'id'  => 'sourname', 'value' => '', 'maxlength'   => '20', 'size' => '20', 'style' => ''));
	  $data['sourname_l'] = form_label('Nazwisko &raquo;', 'sourname', $attributes_label);
		   $data['email'] = form_input(array( 'name' => 'email', 'id'  => 'email', 'value' => '', 'maxlength'   => '50', 'size' => '20', 'style' => ''));
		 $data['email_l'] = form_label('Email &raquo;', 'email', $attributes_label);
			  $data['gg'] = form_input(array( 'name' => 'gg', 'id'  => 'gg', 'value' => '', 'maxlength'   => '11', 'size' => '20', 'style' => ''));
	 	    $data['gg_l'] = form_label('Numer gg (gadu-gadu) &raquo;', 'gg', $attributes_label);
	 $data['hidden_name'] = form_checkbox(array( 'name' => 'hidden_name', 'id' => 'hidden_name', 'value' => 'Pokaż moje Imie i Nazwisko reszcie użytkowników', 'checked' => TRUE, 'style' => ''));
   $data['hidden_name_l'] = form_label('Imię/Nazwisko widoczne dla zarejestrowanych &raquo;', 'hidden_name', $attributes_label);
		  $data['submit'] = form_submit('register', 'Zarejestruj mnie');
		   $data['reset'] = form_reset('reset', 'Resetuj formularz');
		
		$this->load->view('head', $head);
		$this->load->view('upper',$upper);
		$this->load->view('middle_index_register',$data);
		$this->load->view('footer',$footer);
		}
		else
		{	
			$this->load->view('head', $head);
			$this->load->view('upper',$upper);
			$this->load->view('registred');
			$this->load->view('footer',$footer);
		}
	}

}

Jestem bliski podarowania sobie tego bo nie wiem co robię nie tak sad

Pzdr

Offline

#2 26-09-2012 14:01:34

renholder
Administrator
Data rejestracji: 06-09-2012
Liczba postów: 848

Odp: form_validation w CI 2.1.2

Witaj na forum.
Powinno pomóc poprawne zdefiniowanie tablicy z regułami walidacji:

$rules = array(
      array(
            'field'   => 'username', 
            'label'   => 'Username', 
            'rules'   => 'required'
      )
);

PS. Używaj proszę znaczników "code" - w ten sposób kod będzie bardziej czytelny wink

Offline

Stopka