Esta podría ser una pregunta n00bish, pero lo que sea. Está bien usar excepciones para la validación de formularios? Digamos que tengo un formulario que pregunta a los usuarios su nombre y correo electrónico, ¿es correcto hacer lo siguiente?¿Se deben usar excepciones para la validación de formularios?
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
}
también -si esto es, de hecho, la forma correcta de hacerlo- si el usuario envía tanto un nombre vacío y un correo electrónico válido, habría tanto de las excepciones ejecutar o sólo el que aparece por primera vez (el nombre uno en este caso)?
Estoy usando PHP por cierto.
Definitivamente es una forma extraña de usar excepciones. "se ejecutarían las dos excepciones o solo la que aparece primero" - ¿es tan difícil escribir 5 líneas de código y verte a ti mismo? – zerkms
Solo el primero sería arrojado y atrapado, otros omitidos. Si necesita acumular mensajes de error, es mejor que simplemente use una cadena simple si/else y anexe mensajes a una matriz. –
@Michael, pensé que sí ... Aunque me pareció una buena ocasión para usar excepciones (ya que la entrada no válida debería considerarse _excepcional_), pero me quedaré con el if/else's – federicot