Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasa][php] Validation
PiotrekM
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

Ostrzeżenie: (0%)
-----


Witam,
napisałem dla siebie klasę walidacji. Nigdy nie korzystałem z walidacji, tak więc nie wiem czy jest dobrze napisane.
kod się nie zmieścił, więc wrzuciłem na stronę typu no-paste
na nopaste.pl
na wklej.org
Użycie:
  1. validation::checkString(array('test' => 'lorem ipsum dolor sit amet'));
  2.  
  3. validation::setValidations(array('test' => array(
  4. 'maxlenght' => 3,
  5. 'minlenght' => 100,
  6. 'between' => array(10,11),
  7. 'type' => 'bool',
  8. 'maxtimechar' => 'a[spilit]0',
  9. 'required' => true,
  10. 'regex' => '/([0-9]+)/'
  11. )));
  12.  
  13. echo (validation::isValid('test')) ? 'true' : 'false';
  14.  
  15. if( count( @validation::$error['test']) > 0) {
  16.  
  17. echo '<ul>';
  18.  
  19. foreach( validation::$error['test'] as $error) {
  20.  
  21. echo '<li>' . $error . '</li>';
  22. }
  23.  
  24. echo '</ul>';
  25. }

Opcje walidacji
Kod
maxlenght - maksymalna ilość znaków w stringu
minlenght - minimalna ilość znaków
between - w tablicy: minimalna oraz maksymalna ilość znaków
type - typ
maxtimechar - maksymalna liczba wyrazów bądź znaków w stringu (słowo oddzielone od liczby [spilit] (a[spilit]5))
required - string nie może być pusty, jeżeli damy true
regex - regex

pola z błędami są publicznie dostępne, także można jest dowolnie zmieniać.

Ten post edytował PiotrekM 23.03.2010, 19:32:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Ja u mnie rozwiazalem to tak: http://3paste.com/s/1601 mam do poprawy jeszcze tylko jedna rzecz a dokladniej jak na jedno pole jest kilka warunkow a takich pol jest wiecej zwraca tylko pierwsze zle pola czy jakos tak musze do konca przetestowac.
A tak wyglada akcja komponentu Auth metoda Auth razem z walidacja:
  1. public function Auth() {
  2.  
  3. if($this -> validation -> Submitted('log')) {
  4.  
  5. $this -> inputfilter -> Filter();
  6.  
  7. $this -> validation -> AddRules('login', 'Login', 'required');
  8. $this -> validation -> AddRules('password', 'Haslo', 'required');
  9. $this -> validation -> AddRules('login', 'Login', 'AlphaDigit');
  10. $this -> validation -> AddRules('password', 'Haslo', 'AlphaDigit');
  11.  
  12. $this -> validation -> Validation();
  13.  
  14. $errors = $this -> validation -> getValidationErrors();
  15.  
  16. if(empty($errors)) {
  17.  
  18. if($this -> AuthModel -> Login($_POST['login'], $_POST['password'])) {
  19.  
  20. $this -> Redirect('/index.php');
  21.  
  22. }
  23.  
  24. }
  25.  
  26. else {
  27.  
  28. $this -> view -> AddVar('error', $errors);
  29.  
  30. }
  31.  
  32. }
  33.  
  34. $user = $this -> auth -> GetUserType();
  35. return $this -> view -> Layout('Auth', 'component', $user);
  36.  
  37. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 01:01