Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana] Validation i definiowanie alertów o błędzie
Forum PHP.pl > Forum > PHP > Frameworki
netvalue
Hej,

Naprawdę denerwujące jest tworzenie dla każdego obiektu INPUT (który ma być walidowany) tablicy z opisami błędów jakie ewentualnie
wystąpiły podczas walidacji.

Przykładowy plik który otwieram metodą $post->errors('plik'):

plik.php
  1. <?php defined('SYSPATH') or die('No direct access allowed.');
  2.  
  3. $lang = array
  4. (
  5. 'input_email' => Array(
  6.  
  7.        'alpha' => 'Only alphabetic characters are allowed.',
  8.        'length' => 'The name must be between three and twenty letters.',
  9.        'required' => 'The number cannot be blank.',
  10.        'numeric' => 'Only numbers are allowed.',
  11.        'default' => 'Invalid Input.',
  12.    'email'=>' Email  is wrong',
  13.  
  14.  ),
  15.  
  16. 'name' => Array(
  17.  
  18.        'alpha' => 'Only alphabetic characters are allowed.',
  19.        'length' => 'The name must be between three and twenty letters.',
  20.        'required' => 'The number cannot be blank.',  
  21.        'default' => 'Invalid Input.',
  22.  
  23.  ),
  24. 'street' => Array(
  25.  
  26.        'alpha' => 'Only alphabetic characters are allowed.',
  27.        'length' => 'The name must be between three and twenty letters.',
  28.        'required' => 'The number cannot be blank.',  
  29.        'default' => 'Invalid Input.',
  30.  
  31.  )
  32. );
  33. ?>


Dla mnie to jest totalna porażka takie rozwiązanie a raczej powtarzanie siebie. Jest to metoda zalecana w oficjalnej dokumentacji Kohana.
Kiedyś we wcześniejszych wersjach fw, można było używać pliku validation.php i wszystko było ok. Na forum kohana nic nie znalazłem co
by mi pomogło.

Może ktoś z Was ma jakieś swoje rozwiązanie ?
phpion
Na upartego możesz zrobić tak:
  1. <?php
  2. $lang = array(
  3.    'input_email' => Array(
  4.    'alpha' => 'Only alphabetic characters are allowed.',
  5.    'length' => 'The name must be between three and twenty letters.',
  6.    'required' => 'The number cannot be blank.',
  7.    'numeric' => 'Only numbers are allowed.',
  8.    'default' => 'Invalid Input.',
  9.        'email'=>' Email  is wrong',
  10.    ),
  11. );
  12.  
  13. $lang['name'] = $lang['input_email'];
  14. ?>

i nadpisywać odpowiednie indeksy.
netvalue
Dzięki... prawdziwa trauma smile.gif

Jakie jeszcze minusy ma ten framework questionmark.gif
Musze dopisać znaczną część projektu w tym frameworku i nie wiem czy mi się będzie opłacało...
Quider
Jeśli musisz to pisz. Framework jest ok. Co najważniejsze jest lekki i szybki. Nie ma większych przeciwskazań. Jak sam mogłeś się przekonać to tylko szczegóły, które można rozwiązać na prędce:)

Ja osobiście polecam zbudowanie własnego frameworka:) Ja budowałem swojego od ołówka i kartki i w cale nie żałuje kilku spędzonych nad nim miesięcy;)
nrm
Tak, ta "nowa" biblioteka to prawdziwy "Pain in the ass" w kwestii użyteczności. Pozostaje Ci w miare proste rozszerzenie tej biblioteki albo uzycie genialnego FORMO http://www.avanthill.net/formo_manual/

ile ja się namęczyłem i nakur*** przy pisaniu rozbudowanych formularzy to szkoda gadać winksmiley.jpg
netvalue
A jak ustawić parametr name dla formy ? Wykorzystując moduł FORMO ?


np. parametr action robie tak:

->set('action', 'some/page')

ale name .... nie wiem .
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.