Estoy tratando de manejar una serie de errores en el lado frontal y mostrarlos en la página. Obtengo los campos que el usuario ingresó desde el backend y trato de mapearlos. Sin embargo, los parámetros de back-end se devuelven en camelcase. Por favor ver más abajo:
Quiero renderizar: los campos de entrada para correo electrónico, deporte favorito, puntaje de gpa son inaceptables
pero estoy viendo
Los campos de entrada para correo electrónico, deporte favorito, gpaScore son inaceptables
¿Hay alguna forma de asignar el nombre de los parámetros a un nombre personalizado?
Aquí está mi código:
Array.isArray(errors) ? `The input fields for ${errors.map(item => item.param)} are unacceptable`¿Alguna forma de asignar los nombres de los parámetros a mi gusto?
const mapper = (item) => { return { gpaScore: 'GPA Score', favoriteSport: 'Favorite Sport', }[item.param] || 'Unknown property' } return `The input fields for ${errors.map(item => mapper(item)).join(', ')} are unacceptable`Aquí es donde podría usar algo como react-intl para formatear mensajes pero, en general, necesitaría algo que convierta las claves programáticas en mensajes fáciles de usar.
const t = { email: "email", favoriteSport: "favourite sport", gpaScore: "GPA score" } const fields = errors.map(({ param }) => t[param] ?? param) const message = `The input fields for ${fields.join(", ")} are unacceptable`