Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Walidacja w MVC
skubekk
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 8.08.2003
Skąd: Częstochowa

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


Mam mały dylemacik dotyczący OOP. Gdzie najlepiej umiescic walidacje danych dostarczonych przez uzytkownika? Ja widze 3 rozwiązania
1) Przy "setach"
  1. <?php
  2. class user
  3. {
  4. public function setLogin( $login )
  5. {
  6. if ( !UserValidate::login( $login ) )
  7. {
  8. throw new ValidateException( 'login' );
  9. }
  10. $this->setField( 'login', $login );
  11. }
  12. }
  13. ?>

2) Przy zapisywaniu danych
  1. <?php
  2. class user
  3. {
  4. public function save()
  5. {
  6. if ( !UserValidate::login( $this->login ) )
  7. {
  8. throw new ValidateException( 'login' );
  9. }
  10. if ( !UserValidate::pass( $this->pass ) )
  11. {
  12. throw new ValidateException( 'pass' );
  13. }....
  14.  
  15. // zapisywanie
  16. }
  17. }
  18. ?>

3) W kontrolerze zanim wprowadzimy dane do obiektu
  1. <?php
  2. class UserController
  3. {
  4. public function save()
  5.  {
  6.  try
  7.  {
  8. if ( !UserValidate::login( $_POST['login'] ) )
  9. {
  10. throw new ValidateException( 'login' );
  11. }
  12. if ( !UserValidate::pass( $_POST['pass'] ) )
  13. {
  14. throw new ValidateException( 'pass' );
  15. }....
  16. }catch(ValidateException $e)
  17. {
  18. echo $e->getMessage();
  19. }
  20. $user = new user;
  21. $user->setLogin( $_POST['login'] )
  22. $user->setPass( $_POST['passs'] )
  23. $user->save();
  24.  } 
  25. }
  26. ?>


Jak wy rozwiązaliscie ten problem? Z góry dzięki za odpowiedz.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 04:08