Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> walidacja email, FILTER_VALIDATE_EMAIL
kicaj
post
Post #1





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Uzylem filtrow do sprawdzania swoich formularzy i natknalem sie na pewien "problem".
Otoz, jezeli mamy formularz z polem email i chcemy sprawdzic jego poprawnosc to skorzystamy z FILTER_VALIDATE_EMAIL, jednak co wtedy gdy pole email jest, ale nie jest wymagane?

Napisalem kod na wlasnie taka okazje uzywajac filtrow, jednak nie jest on to konca taki jak bym chcial osiagnac

  1. <?php
  2. function checkEmailWhenIsNotRequired( $sMail )
  3. {
  4. if( empty( $sMail ) )
  5. {
  6. return 'email nie jest zawsze wymagany';
  7. // return true/$sMail;
  8. }
  9. elseif( filter_var( $sMail, FILTER_VALIDATE_EMAIL ) === false )
  10. {
  11. return 'jak juz wpisales mail, to jest on niepoprawny';
  12. }
  13. else
  14. {
  15. return $sMail;
  16. }
  17. }
  18.  
  19. $sEmail = 'k@p.pl';
  20.  
  21. echo '<hr />';
  22. var_export( filter_var( $sEmail, FILTER_CALLBACK, array( 'options' => 'checkEmailWhenIsNotRequired' ) ) );
  23. echo '<hr />';
  24. var_export( filter_var( $sEmail, FILTER_VALIDATE_EMAIL ) );
  25. ?>


Czy jest moze rozwiazanie typu takiego:
  1. <?php
  2. var_export( filter_var( $sEmail, FILTER_VALIDATE_EMAIL_IF_IS_NO_EMPTY ) );
  3. ?>

Kombinowalem za pomoca 'flags' i 'options' ale nie daje wyniku.
Poprostu chce pozbyc sie stworzonej funkcji


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
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: 20.08.2025 - 21:41