Bien, continuemos.
Vamos a ver otra forma de mostrar el mensaje de error.
Pero justo debajo el campo, porque yo sé que es un tema que me lo van a preguntar bastante en el curso,
si es que no lo incluya.
Entonces vamos a tener estas dos formas arriba y debajo el campo.
Bien, para eso nos vamos a ir al chalet y lo vamos a modificar.
Vamos a subir hasta donde tenemos el ArrayList con un mensaje de error por acá ArrayList.
Entonces, bueno, lo primero, en vez de ser un list@, tiene que ser un tipo map o mapa que guarde
el nombre campo con el mensaje error.
Tiene que estar enlazado el nombre campo con el mensaje error, porque si después en la vista lo podamos
capturar mediante el nombre de este campo, veamos MAP.
Vamos a importar de llebaba útil, pero un mapa recuerden que tiene un par de nombre y valor, ambos
del tipo String.
Entonces del tipo string errores perfecto, los vemos igual y en vez de un array listo, un mapa perfecto
lo tenemos.
Lo siguiente.
Nos vamos a posicionar por acá en el Ladd y con Alt J.
Vamos a marcar todas las ocurrencias y vamos a seguir presionando al J porque tengo que modificar el
método ADD por el método PUT.
Entonces vamos seleccionando todos los ADD roles.
Creo que idioma, no sé, hay más, vamos a ver nada más.
Hasta idioma se fijan.
Entonces lo quitamos con suprimir put.
Avanzamos un poco, vamos a colocar una coma espacio y acá el nombre campo te dejan.
Por ejemplo, el primero es Yussef n esc.
Nos posicionamos en el primero y n bajamos y nos posicionamos acá.
Password el nombre de password bajamos email país
lenguajes en plural, roles, roles y por último idioma.
Ahí tenemos todos se fijan.
Modificamos el ArrayList por un map y agregamos el nombre campo con MSG Ronna.
Eso es todo y nada más.
Todo lo demás se mantiene exactamente igual.
Ahora volvemos a la vista de JSP y acá tenemos que hacer un par de cambio importante.
Lo primero podría mantener.
A ver, vamos a modificar este como un mapa también.
Entonces, en vez de list, de hecho tenga que importar también acá en vez de ya utiliz vamos a importar
de mapa.
Entonces reemplazamos map.
Bien, bajamos.
Ahora tenemos que cambiar acá los tipo de dato.
Entonces quitamos esto map del tipo string, string, string errores.
Le vamos a llamar Matto acá map herrores map y acá por acá map como +30.
Ahí tenemos el mapa.
Pero necesito otra cosa porque le di a mantener los dos.
Quiero tener los mensajes de error arriba como conjunto, pero además abajo tonce arriba lo hagamos
como errores y es una lista, una lista de errores, aunque también lo podríamos gracía.
Yo creo que solamente si lo dejamos así tal cual, con uno solo.
Total, lo tengo que iterar, lo dejamos mejor como errores, sí, como errores sin errores.
Map vamos a subir, lo dejamos acá.
Errores, errores.
Sé que es mucho mejor así.
Entonces primero tengo que preguntar si errores es distinto de null.
Lo primero, lo segundo en el div.
Bueno, si lo tenemos, lo segundo el 6.
Y también tenemos el método 6 en el MAP que devuelve la canti elementos de la llave.
Por lo tanto de los campo.
Entonces está bien.
En vez de errores acá en el foro tenemos que mostrar los mensajes de error.
Entonces sería errores punto palios valiums y cerramos paréntesis.
De esta forma mostramos los mensajes de error.
El valiums devuelve un tipo colectaron, por lo tanto lo podemos iterar.
Es un literal de y lo mostramos.
Ahora bien, cómo mostramos esto en cada campo?
Justamente debajo, debajo del Yousef, debajo del password.
Y así nos vamos a posicionar acá en el Yussef Naim, en el campo, en el input.
Vamos a bajar incluso debajo del div la idea de que el dir envuelva al input y debajo del div vamos
a tener otro elemento.
Pero este otro elemento lo vamos a imprimir siempre cuando contengan un mensaje de error.
Existe mensaje error.
Entonces tienes que preguntar.
Para eso tenemos que utilizar estas etiquetas para colocar el código, ya que se le conoce como escribe
Lett.
Entonces dentro vamos a bajar y por acá unir if herrores si distinto null porque tengo que validar también
vamos a separar acá.
Y además si contiene un mensaje error para ese campo, entonces errores porque tenemos el método que
pregunta contains.
Entonces si contiene una llave, el nombre, la llave en este caso es qué nombre ya sería bueno y justo
en el nombre campo mismo name que tenemos acá mismo nombre campo y Usenet que al final es el mismo nombre
que le dimos en el mapa.
Se acuerdan en el nombre?
El mapa en el puto sí lo contiene.
Perfecto.
Bajamos y también cerramos la llave, abrimos y cerramos.
Y dentro?
Bueno, vamos a imprimir.
Podríamos dar un poco espacio.
Podemos utilizar el objeto out punto print line piden o print line.
Lo mismo íbamos a imprimir acá.
Vamos a colocar punto y coma.
Es muy importante.
Sintaxis de Yaba y acá un string.
Podríamos utilizar un div para mostrar este mensaje de error justo debajo del div del input.
O también podríamos utilizar el elemento small de HTML porque se mueve un poco más pequeño.
Es parición div, pero la letra la muestra un poco más pequeña small acá concatenados con el mensaje
de error.
Recuerden, en un mapa en un mar de Java obtenemos el valor con el get.
Entonces herrores punto yetta y el nombre campo.
Nos vemos Yousef ne concatenados y cerramos el small.
También le podríamos dar estilos, por ejemplo por acá.
En este mol podríamos agregar un style css igual al resto.
Diseño la opcional comilla simple o komi a doble escapamos pero siempre está bien.
Colocamos color en dos punto espacio red rojo coma.
Ya tenemos recièn para el rehúsen.
Pero bueno, vamos a copiarlo.
Esto lo copiamos y lo vamos a replicar en cada uno.
Entonces copiamos, bajamos y lo pegamos acá en cada uno.
En el password depone email.
De pueden país debajo, por acá, debajo del tiv.
Después lenguaje y lo mismo debajo del DIF en roles, al final, debajo del último div de acá, lo mismo
en idioma.
Debajo del último div.
Y habilitar, habilitar no, porque habilita no se valida lo mismo que el Given el secreto.
Entonces hasta ahí nomás hay que faltaría renombrar, por ejemplo, acá sería idioma.
Entonces copiamos el NAIM, lo pegamos acá, lo pegamos acá.
Perfecto.
Después, en vez de iusted neem a casi 10 roles, voy a copiar el NAIM de roles, roles, roles y así
por cada uno.
Este sería lenguajes, lenguajes, lenguaje.
Es importante que este nombre del MAP, de la llave o del ЯКІ es exactamente el mismo que registramos
en el controlador, en el puto y también que coincidan con el mismo nombre campo con el NAICM.
En este caso lenguaje, lenguajes, lo mismo país.
Acá tienen que coincidir en Content Sky, donde pregunta y donde lo obtenemos siempre.
Acá el e-mail, copiamos el name, reemplazamos acá el password, reemplazamos y terminamos por que
el Justin está bien.
Eso sería.
Es decir, el cambio ya lo tenemos implementado.
Entonces bueno, levantemos.
Vamos a hacer el despliegue.
Click.
Bien, enviar tal cual.
Perfecto.
Se me ocurría, pero también trajo el campo el Yussef es requerido.
El pavor no puede ser vacío.
El email es requerido, debe tener un formato de correo.
Bueno, el lenguaje.
El país está todo seleccionado por defecto, pero el idioma no se fijan acá.
Debe Rosette perfecto.
De hecho, voy a demarcar todo acá con control.
Y seleccionar acá volvemos a enviar.
Ahora parece todo lo campo fijo en el país, los roles.
Todo.
Ahora si vamos seleccionando.
Dejamos todo marcado por defecto el usuario inglés enviar y validar bien.
Volvemos.
Puede quitar tres acá, enviar la marca solamente usuario y password, nada más password y el requerido
si tienen esos dos santibã.
Arriba o dejo acá acampo y por supuesto el diseño se lo podemos customizar acá con hoja de estilo y
todo.
De hecho, la siguiente clase vamos a ver cómo mejorar de forma gráfica utilizando vostra los estilos
de formulario es un plus para que lo pongo, complementÃ también con otras vista en otro HTML.
En fin, este sube simple porque solamente tenemos que copiar y pegar un estilo, una hoja de estilo
de Bootstrap y agregar un par de clases de CSS.
Obviamente si, entre muchos detalles, porque todo lo que esos gati los CSS da para un curso completo
desde cero, acá solamente lo vamos a utilizar, implementar y explicar lo básico.
Bueno, quedamos hasta acá.
Continuamos en la siguiente clase.