Estoy creando una validación de formulario con 2 condiciones para validar. ¿Es esta una buena manera de usar el cambio de caso con la declaración if else? ¿O es algo que está mal visto? Si es así, ¿cuál sería una mejor manera de abordar esto sin usar una biblioteca externa? Gracias.
Código:
const validate = ( name, value) => { switch (name) { case "user_name": if (!value) { setErrors({ ...errors, user_name: "Please, submit required data" }); } else if (!new RegExp(/^[A-Za-z0-9]+$/).test(value)) { setErrors({ ...errors, user_name: "Please, provide the data of indicated type(no special characters)", }); } else { let newObj = omit(errors, "user_name"); setErrors({ ...newObj }); } break; .....No es muy legible, así que no diría que es la mejor manera, pero definitivamente no es la peor. Podrías intentar algo como esto.
const validate = (name, value) => { if (!value) { setErrors({ ...errors, [name]: "Please, submit required data" }) return } switch (name) { case "user_name": { if (!new RegExp(/^[A-Za-z0-9]+$/).test(value)) { setErrors({ ...errors, user_name: "Please, provide the data of indicated type(no special characters)" }) return } } } const newObj = omit(errors, name) setErrors({ ...newObj }) }