Pereiti prie turinio

Codeigniter form validation custom errors


Rekomenduojami pranešimai

Sveiki,

 

Susiduriau su tokia probelma ir kazkurioi vietoi tikriausiai zopla klaida darau.

 

Viskas suveikia validuojant gerai, bet testuojant gaunu tokia klaida "The real_date field must contain a unique value.", ir noreciau butent ta custom error ar kaip ji pavadinit tiksliai nezinau, pakeisti savo formuluote. Manuale radau:

$this->form_validation->set_message('rule', 'Error Message');

bet bandziau taikyti, nesigavo. Tai gal turit minciu, arba i tinkama puse nukreipsit :)

 

Taisykle:

$config = array(
	array(
		'field' => 'real_date',
		'lable' => 'Už laikotarpį',
		'rules' => 'required|is_unique[invoice.real_date]'));

Nuoroda į pranešimą
Dalintis kituose puslapiuose

$this->form_validation->set_message('real_date', 'Erroro pranešiimas');

 

pranešimų sudarinėjimas turi vykti po taisyklių priskyrimo.

 

 

Nerandu zinok :) jei gali su pirstu parodyk :)

public function invoice_validation(){
	$this->load->library('form_validation');
	$config = array(
			array(
				'field' => 'data_from',
				'lable' => 'Nuo',
				'rules' => 'required'),
			array(
				'field' => 'data_to',
				'lable' => 'Iki',
				'rules' => 'required'),
			array(
				'field' => 'skirtumas1',
				'lable' => 'Skirtumas',
				'rules' => 'callback_skirtumas'),
			array(
				'field' => 'real_date',
				'lable' => 'Už laikotarpį',
				'rules' => 'required|is_unique[invoice.real_date]'));

	$this->form_validation->set_rules($config);

	if($this->form_validation->run() == FALSE){
		$this->form_validation->set_error_delimiters('<div class="validation_error">', '</div>');
		$this->form_validation->set_message('real_date', 'Erroro pranešiimas');
		$data = $this->user->take_user_data();
		$this->load->template('user/add_invoice', $data);
	} else {
		if($this->user->send_invoice() == FALSE){
			$data = $this->user->send_invoice();
			$this->load->template('user/message', $data);
		} else {
			$data = $this->user->send_invoice();
			$this->load->template('user/message', $data);
		}	
	}
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose
public function invoice_validation(){
               $this->load->library('form_validation');
               $config = array(
                               array(
                                       'field' => 'data_from',
                                       'lable' => 'Nuo',
                                       'rules' => 'required'),
                               array(
                                       'field' => 'data_to',
                                       'lable' => 'Iki',
                                       'rules' => 'required'),
                               array(
                                       'field' => 'skirtumas1',
                                       'lable' => 'Skirtumas',
                                       'rules' => 'callback_skirtumas'),
                               array(
                                       'field' => 'real_date',
                                       'lable' => 'Už laikotarpį',
                                       'rules' => 'required|is_unique[invoice.real_date]'));

               $this->form_validation->set_rules($config);
               $this->form_validation->set_error_delimiters('<div class="validation_error">', '</div>'); // nežinau kas čia, nenaudoju šito niekada.
               $this->form_validation->set_message('real_date', 'Erroro pranešiimas');


               if($this->form_validation->run() == FALSE){

                       $data = $this->user->take_user_data();
                       $this->load->template('user/add_invoice', $data);
               } else {
                       if($this->user->send_invoice() == FALSE){
                               $data = $this->user->send_invoice();
                               $this->load->template('user/message', $data);
                       } else {
                               $data = $this->user->send_invoice();
                               $this->load->template('user/message', $data);
                       }       
               }
       }

Nuoroda į pranešimą
Dalintis kituose puslapiuose

nu tai išimk tuos error_delimiter ir pažėk kuri tau vieta apskritai neveikia..

 

ai pas tave confige yra "lable" vietoj "label" :)

 

array(
                                       'field' => 'data_from',
                                       'lable' => 'Nuo', // turi būti 'label' => 'Nuo'
                                       'rules' => 'required'),

 

Prie ko tas error_delimiter? as kiek suprantu jis tik aplink error texta uzdeda div su klase ir viskas. Ji nuemus niekas pasikeite.

 

Pakeiciau lable i label, pasikeite tai kad kur rase pvz: The data_from fie... dabar raso The Nuo fie... As noriu visa ta zinute pakeisti.

Redagavo Gemalas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

nu aš suprantu prie ko jis, bet nesu naudojęs jo todėl nepasakysiu ar gerai.

 

$this->form_validation->set_rules('data_from', 'Inputo vardas', 'required');
$this->form_validation->set_message('required', 'Neužpildytas "%s"');

 

kai išves errorą (jeigu "data_from" nenustatyta) tai jis atrodys taip:

 

Neužpildytas "Inputo vardas"

 

pasiskaityk čia, yra viskas ko reik:

 

setting rules: http://ellislab.com/codeigniter%20/user-guide/libraries/form_validation.html#validationrules

setting messages: http://ellislab.com/codeigniter%20/user-guide/libraries/form_validation.html#settingerrors

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...