To może być pytanie n00b, ale cokolwiek. Czy można używać wyjątków do sprawdzania poprawności formularza? Załóżmy, że mam formularz, który prosi użytkowników o podanie imienia i nazwiska oraz adresu e-mail. Czy można wykonać następujące czynności?Czy w przypadku zatwierdzania formularza należy stosować wyjątki?
try {
if (empty($_POST["name"])) {
throw new UserRegistrationException("Your name cannot be empty.");
}
if (filter_var($_POST["email"])) {
throw new UserRegistrationException("Invalid email");
}
// Save new user into database
} catch (UserRegistrationException $e) {
// Show errors on screen
}
także -jeżeli jest to w rzeczywistości jest poprawny sposób zrobić to- gdy użytkownik podnosi zarówno pustą nazwę i nieprawidłowy e-mail, by zarówno z wyjątków lub wykonać tylko jeden, który pojawia się pierwszy (imię w tym przypadku)?
Używam przy okazji PHP.
Jest to z pewnością dziwny sposób używania wyjątków. "czy oba wyjątki zostaną wykonane, czy tylko ten, który pojawi się pierwszy" - czy trudno jest napisać 5 linii kodu i zobaczyć siebie? – zerkms
Tylko pierwszy zostałby rzucony i złapany, inni pomijani. Jeśli chcesz zebrać komunikaty o błędach, lepiej jest po prostu użyć zwykłego starego łańcucha if/else i dołączyć wiadomości do tablicy. –
@Michael Myślałem, że tak ... Wydawało się, że jest to dobry moment na używanie wyjątków (jako że nieprawidłowy sygnał wejściowy powinien być uważany za _wyjątkowy_), ale pozostanę przy kodzie – federicot