Tengo un formulario grande con muchos campos y una función de procesamiento especial
Varias variables de diferentes tipos declaradas al principio de una función
Me gustaría verificar que un usuario haya configurado todas las variables antes de la ejecución de una función
const a1 = true, a2 = "str", a3 = { b: true }, a4 = [], a5 = ""; // Variant 1: old school if (!(a1 && a2 && a3 && a4 && a5)) return toast.error('Please fill out all fields'); // Variant 2: array aggregation if (!Array.of(a1, a2, a3, a4, a5).every(Boolean)) return toast.error('Please fill out all fields'); Me gustaría atrapar a5 , ya que es una cadena vacía.
La variante 1 no es legible si tenemos más de 5 variables y no es muy elegante
La variante 2 es más elegante y clara, pero no funciona para variables que no son de tipo booleano.
¿Cómo verificas muchas variables en una sola pasada?
¿Eso funcionaría para ti?
const hasTruthyInput = v => typeof v === 'string' ? v.trim().length > 0 : Boolean(v); // Variant 2: array aggregation if (!Array.of(a1, a2, a3, a4, a5).every(hasTruthyInput)) return toast.error('Please fill out all fields'); Utilicé v.trim() para que al usuario le resulte más difícil eludir el formulario ingresando una cadena llena de espacios en blanco. Ajuste a sus necesidades.