CodeIgniter form validálás I.

Mielőtt nekilátnánk a form validálásnak, lássuk mi az ideális eset:

1. Megjelenítjük a formot.
2. Kitöltöd és elküldöd.
3. Ha valami olyan adatot küldtél el ami nem odavaló, kifelejtettél 1 kötelező mezőt akkor újra megjelenítjük a formot, a megfelelő hibaüzenetekkel .
4. Ezt a folyamatot addig folytatjuk amíg nem töltünk ki minden mezőt helyesen.

A feldolgozó oldalon így néz ki a folyamat:

1. Ellenőrizzük a kötelező mezőket.
2. Ellenőrizzük, hogy az adat típusa megfelel-e a kritériumoknak, például ha felhasználónevet ellenőrzünk először megnézzük, hogy a megfelelő karaktereket tartalmazza, megnézzük, hogy eléri-e a minimum hosszot illetve, hogy nem hosszabb-e a maximum hossznál valamint, hogy foglalt-e az adott felhasználóné.
3. Biztonsági okokból megtisztítjuk az adatokat.
4. Előformázzuk az adatokat ha szükséges(levágjuk a fölösleges szóközöket, eltávolítjuk a HTML tag-eket).
5. Előkészítjük az adatokat az adatbázisba szúráshoz.

Látni fogjuk, hogy mindezt megvalósítani CodeIgniter keretrendszerben igen egyszerű, nézzünk is 1 példát:

Kezdjük a megjelenítéssel ami 1 egyszerű HTML form néhány CodeIgniter függvénnyel.

regisztracio.php
<html>

<head>

<title>Regisztráció</title>

</head>

<body>

<?php echo validation_errors(); ?>

<?php echo form_open(‘form’); ?>

<h5>Felhasználónév</h5>

<input type=”text” name=”username” value=”" size=”50″ />

<h5>Jelszó</h5>

<input type=”text” name=”password” value=”" size=”50″ />

<h5>Jelszó ismét</h5>

<input type=”text” name=”passconf” value=”" size=”50″ />

<h5>Email cím</h5>

<input type=”text” name=”email” value=”" size=”50″ />

<div><input type=”submit” value=”Submit” /></div>

</form>

</body>

</html>


Ezen az egyszerű formon bekérünk 1 felhasználónevet, a jelszót kétszer valamint a felhasználó E-mail címét.

Nézzük a controllerben hogyan dolgozzuk fel a kapott adatokat:

validalas.php
<?php

class validalas extends Controller {

function index()
 {
 $this->load->helper(array(‘form’, ‘url’));

$this->load->library(‘form_validation’);
 $this->form_validation->set_rules(‘username’, ‘Felhasználónév’, ‘required|min_length[5]|max_length[12]‘);

$this->form_validation->set_rules(‘password’, ‘Jelszó’, ‘required|matches[passconf]‘);

$this->form_validation->set_rules(‘passconf’, ‘Jelszó ismét’, ‘required’);

$this->form_validation->set_rules(‘email’, ‘Email cím’, ‘required|valid_email’);
 if ($this->form_validation->run() == FALSE)
 {
 $this->load->view(‘regisztracio’);
 }
 else
 {
 $this->load->view(‘sikeres_regisztracio’);
 }
 }
 }
 ?>


Nézzük mit is csinálunk a controllerben, először is betöltjük a szükséges helpereket valamint a form validálást segítő osztályt. Ezután beállítjuk, hogy regisztrációhoz szükséges mezőkre milyen szabályok vonatkoznak. A set_rules() metódusban az első paraméter az adott elem neve, a második az ‘emberi’ neve, ez jelenik meg a hibaüzenetben, a harmadik paraméterben következnek a szabályok ami alapján validáljuk az elemet. A szabályok megadása után végrehajtjuk a validálást, ha nem sikerül akkor megjelenítjük a formot ismét a megfelelő hibaüzenetekkel, ha minden adatot jól adtunk meg értesítjük róla a felhasználót, hogy sikeresen regisztrált a rendszerben.

A következő postomban kitérek a különféle beépített validálásokra és a callback-ekre(ezzel tudunk saját függvények segítségével validálni).