1
00:00:00,210 --> 00:00:00,900
Bien, continuemos.

2
00:00:00,960 --> 00:00:03,160
Vamos a ver otra forma de mostrar el mensaje de error.

3
00:00:03,210 --> 00:00:08,520
Pero justo debajo el campo, porque yo sé que es un tema que me lo van a preguntar bastante en el curso,

4
00:00:08,730 --> 00:00:09,720
si es que no lo incluya.

5
00:00:09,840 --> 00:00:13,290
Entonces vamos a tener estas dos formas arriba y debajo el campo.

6
00:00:13,380 --> 00:00:16,650
Bien, para eso nos vamos a ir al chalet y lo vamos a modificar.

7
00:00:16,920 --> 00:00:22,260
Vamos a subir hasta donde tenemos el ArrayList con un mensaje de error por acá ArrayList.

8
00:00:22,380 --> 00:00:26,940
Entonces, bueno, lo primero, en vez de ser un list@, tiene que ser un tipo map o mapa que guarde

9
00:00:26,940 --> 00:00:28,530
el nombre campo con el mensaje error.

10
00:00:28,770 --> 00:00:33,930
Tiene que estar enlazado el nombre campo con el mensaje error, porque si después en la vista lo podamos

11
00:00:33,960 --> 00:00:38,400
capturar mediante el nombre de este campo, veamos MAP.

12
00:00:38,700 --> 00:00:44,430
Vamos a importar de llebaba útil, pero un mapa recuerden que tiene un par de nombre y valor, ambos

13
00:00:44,430 --> 00:00:45,060
del tipo String.

14
00:00:45,130 --> 00:00:54,810
Entonces del tipo string errores perfecto, los vemos igual y en vez de un array listo, un mapa perfecto

15
00:00:55,110 --> 00:00:55,560
lo tenemos.

16
00:00:55,650 --> 00:00:56,340
Lo siguiente.

17
00:00:56,430 --> 00:01:00,840
Nos vamos a posicionar por acá en el Ladd y con Alt J.

18
00:01:00,930 --> 00:01:06,000
Vamos a marcar todas las ocurrencias y vamos a seguir presionando al J porque tengo que modificar el

19
00:01:06,000 --> 00:01:07,560
método ADD por el método PUT.

20
00:01:07,650 --> 00:01:11,130
Entonces vamos seleccionando todos los ADD roles.

21
00:01:11,160 --> 00:01:14,310
Creo que idioma, no sé, hay más, vamos a ver nada más.

22
00:01:14,460 --> 00:01:15,660
Hasta idioma se fijan.

23
00:01:15,750 --> 00:01:18,360
Entonces lo quitamos con suprimir put.

24
00:01:18,600 --> 00:01:24,510
Avanzamos un poco, vamos a colocar una coma espacio y acá el nombre campo te dejan.

25
00:01:24,510 --> 00:01:27,390
Por ejemplo, el primero es Yussef n esc.

26
00:01:27,600 --> 00:01:32,850
Nos posicionamos en el primero y n bajamos y nos posicionamos acá.

27
00:01:32,940 --> 00:01:39,930
Password el nombre de password bajamos email país

28
00:01:42,480 --> 00:01:49,200
lenguajes en plural, roles, roles y por último idioma.

29
00:01:49,830 --> 00:01:50,730
Ahí tenemos todos se fijan.

30
00:01:50,820 --> 00:01:55,420
Modificamos el ArrayList por un map y agregamos el nombre campo con MSG Ronna.

31
00:01:55,500 --> 00:01:56,860
Eso es todo y nada más.

32
00:01:56,880 --> 00:01:58,530
Todo lo demás se mantiene exactamente igual.

33
00:01:58,800 --> 00:02:05,100
Ahora volvemos a la vista de JSP y acá tenemos que hacer un par de cambio importante.

34
00:02:05,220 --> 00:02:07,170
Lo primero podría mantener.

35
00:02:07,350 --> 00:02:10,860
A ver, vamos a modificar este como un mapa también.

36
00:02:10,970 --> 00:02:16,620
Entonces, en vez de list, de hecho tenga que importar también acá en vez de ya utiliz vamos a importar

37
00:02:16,620 --> 00:02:17,040
de mapa.

38
00:02:17,370 --> 00:02:19,180
Entonces reemplazamos map.

39
00:02:19,470 --> 00:02:20,550
Bien, bajamos.

40
00:02:20,940 --> 00:02:22,980
Ahora tenemos que cambiar acá los tipo de dato.

41
00:02:23,410 --> 00:02:29,940
Entonces quitamos esto map del tipo string, string, string errores.

42
00:02:30,090 --> 00:02:39,690
Le vamos a llamar Matto acá map herrores map y acá por acá map como +30.

43
00:02:40,170 --> 00:02:41,030
Ahí tenemos el mapa.

44
00:02:41,160 --> 00:02:44,220
Pero necesito otra cosa porque le di a mantener los dos.

45
00:02:44,310 --> 00:02:50,070
Quiero tener los mensajes de error arriba como conjunto, pero además abajo tonce arriba lo hagamos

46
00:02:50,070 --> 00:02:54,570
como errores y es una lista, una lista de errores, aunque también lo podríamos gracía.

47
00:02:54,780 --> 00:02:58,260
Yo creo que solamente si lo dejamos así tal cual, con uno solo.

48
00:02:58,410 --> 00:03:02,520
Total, lo tengo que iterar, lo dejamos mejor como errores, sí, como errores sin errores.

49
00:03:02,520 --> 00:03:05,670
Map vamos a subir, lo dejamos acá.

50
00:03:06,150 --> 00:03:08,980
Errores, errores.

51
00:03:08,980 --> 00:03:10,410
Sé que es mucho mejor así.

52
00:03:10,860 --> 00:03:14,700
Entonces primero tengo que preguntar si errores es distinto de null.

53
00:03:14,950 --> 00:03:17,040
Lo primero, lo segundo en el div.

54
00:03:17,250 --> 00:03:19,140
Bueno, si lo tenemos, lo segundo el 6.

55
00:03:19,290 --> 00:03:24,840
Y también tenemos el método 6 en el MAP que devuelve la canti elementos de la llave.

56
00:03:25,050 --> 00:03:26,460
Por lo tanto de los campo.

57
00:03:26,700 --> 00:03:27,330
Entonces está bien.

58
00:03:27,660 --> 00:03:31,320
En vez de errores acá en el foro tenemos que mostrar los mensajes de error.

59
00:03:31,410 --> 00:03:37,080
Entonces sería errores punto palios valiums y cerramos paréntesis.

60
00:03:37,350 --> 00:03:38,910
De esta forma mostramos los mensajes de error.

61
00:03:39,150 --> 00:03:43,500
El valiums devuelve un tipo colectaron, por lo tanto lo podemos iterar.

62
00:03:43,590 --> 00:03:45,480
Es un literal de y lo mostramos.

63
00:03:45,660 --> 00:03:48,390
Ahora bien, cómo mostramos esto en cada campo?

64
00:03:48,450 --> 00:03:52,230
Justamente debajo, debajo del Yousef, debajo del password.

65
00:03:52,320 --> 00:03:57,570
Y así nos vamos a posicionar acá en el Yussef Naim, en el campo, en el input.

66
00:03:58,290 --> 00:04:04,560
Vamos a bajar incluso debajo del div la idea de que el dir envuelva al input y debajo del div vamos

67
00:04:04,560 --> 00:04:05,700
a tener otro elemento.

68
00:04:05,970 --> 00:04:10,230
Pero este otro elemento lo vamos a imprimir siempre cuando contengan un mensaje de error.

69
00:04:10,290 --> 00:04:11,250
Existe mensaje error.

70
00:04:11,440 --> 00:04:12,840
Entonces tienes que preguntar.

71
00:04:12,930 --> 00:04:18,480
Para eso tenemos que utilizar estas etiquetas para colocar el código, ya que se le conoce como escribe

72
00:04:18,480 --> 00:04:18,770
Lett.

73
00:04:19,140 --> 00:04:26,960
Entonces dentro vamos a bajar y por acá unir if herrores si distinto null porque tengo que validar también

74
00:04:29,700 --> 00:04:30,690
vamos a separar acá.

75
00:04:33,420 --> 00:04:41,010
Y además si contiene un mensaje error para ese campo, entonces errores porque tenemos el método que

76
00:04:41,010 --> 00:04:42,480
pregunta contains.

77
00:04:44,850 --> 00:04:50,080
Entonces si contiene una llave, el nombre, la llave en este caso es qué nombre ya sería bueno y justo

78
00:04:50,120 --> 00:04:57,030
en el nombre campo mismo name que tenemos acá mismo nombre campo y Usenet que al final es el mismo nombre

79
00:04:57,030 --> 00:04:58,200
que le dimos en el mapa.

80
00:04:58,200 --> 00:04:59,730
Se acuerdan en el nombre?

81
00:05:00,000 --> 00:05:02,160
El mapa en el puto sí lo contiene.

82
00:05:02,190 --> 00:05:02,730
Perfecto.

83
00:05:03,240 --> 00:05:07,140
Bajamos y también cerramos la llave, abrimos y cerramos.

84
00:05:07,200 --> 00:05:07,950
Y dentro?

85
00:05:08,160 --> 00:05:09,180
Bueno, vamos a imprimir.

86
00:05:09,270 --> 00:05:10,620
Podríamos dar un poco espacio.

87
00:05:11,460 --> 00:05:16,700
Podemos utilizar el objeto out punto print line piden o print line.

88
00:05:17,490 --> 00:05:19,500
Lo mismo íbamos a imprimir acá.

89
00:05:19,620 --> 00:05:20,670
Vamos a colocar punto y coma.

90
00:05:20,740 --> 00:05:21,720
Es muy importante.

91
00:05:21,930 --> 00:05:24,350
Sintaxis de Yaba y acá un string.

92
00:05:24,630 --> 00:05:29,700
Podríamos utilizar un div para mostrar este mensaje de error justo debajo del div del input.

93
00:05:29,940 --> 00:05:35,010
O también podríamos utilizar el elemento small de HTML porque se mueve un poco más pequeño.

94
00:05:35,100 --> 00:05:42,840
Es parición div, pero la letra la muestra un poco más pequeña small acá concatenados con el mensaje

95
00:05:42,840 --> 00:05:43,170
de error.

96
00:05:43,350 --> 00:05:47,550
Recuerden, en un mapa en un mar de Java obtenemos el valor con el get.

97
00:05:47,690 --> 00:05:52,320
Entonces herrores punto yetta y el nombre campo.

98
00:05:53,370 --> 00:05:59,460
Nos vemos Yousef ne concatenados y cerramos el small.

99
00:06:00,420 --> 00:06:03,000
También le podríamos dar estilos, por ejemplo por acá.

100
00:06:03,090 --> 00:06:08,900
En este mol podríamos agregar un style css igual al resto.

101
00:06:08,920 --> 00:06:14,040
Diseño la opcional comilla simple o komi a doble escapamos pero siempre está bien.

102
00:06:14,130 --> 00:06:19,880
Colocamos color en dos punto espacio red rojo coma.

103
00:06:20,160 --> 00:06:21,300
Ya tenemos recièn para el rehúsen.

104
00:06:21,690 --> 00:06:23,710
Pero bueno, vamos a copiarlo.

105
00:06:23,730 --> 00:06:27,330
Esto lo copiamos y lo vamos a replicar en cada uno.

106
00:06:27,590 --> 00:06:33,300
Entonces copiamos, bajamos y lo pegamos acá en cada uno.

107
00:06:33,630 --> 00:06:36,230
En el password depone email.

108
00:06:39,110 --> 00:06:42,500
De pueden país debajo, por acá, debajo del tiv.

109
00:06:44,440 --> 00:06:56,080
Después lenguaje y lo mismo debajo del DIF en roles, al final, debajo del último div de acá, lo mismo

110
00:06:56,080 --> 00:06:56,500
en idioma.

111
00:06:56,590 --> 00:06:57,940
Debajo del último div.

112
00:07:00,950 --> 00:07:07,140
Y habilitar, habilitar no, porque habilita no se valida lo mismo que el Given el secreto.

113
00:07:07,420 --> 00:07:12,050
Entonces hasta ahí nomás hay que faltaría renombrar, por ejemplo, acá sería idioma.

114
00:07:12,110 --> 00:07:16,430
Entonces copiamos el NAIM, lo pegamos acá, lo pegamos acá.

115
00:07:17,270 --> 00:07:17,900
Perfecto.

116
00:07:18,060 --> 00:07:25,520
Después, en vez de iusted neem a casi 10 roles, voy a copiar el NAIM de roles, roles, roles y así

117
00:07:25,670 --> 00:07:26,360
por cada uno.

118
00:07:26,750 --> 00:07:30,380
Este sería lenguajes, lenguajes, lenguaje.

119
00:07:30,440 --> 00:07:36,020
Es importante que este nombre del MAP, de la llave o del ЯКІ es exactamente el mismo que registramos

120
00:07:36,020 --> 00:07:41,360
en el controlador, en el puto y también que coincidan con el mismo nombre campo con el NAICM.

121
00:07:41,480 --> 00:07:44,910
En este caso lenguaje, lenguajes, lo mismo país.

122
00:07:45,110 --> 00:07:51,110
Acá tienen que coincidir en Content Sky, donde pregunta y donde lo obtenemos siempre.

123
00:07:52,300 --> 00:08:01,360
Acá el e-mail, copiamos el name, reemplazamos acá el password, reemplazamos y terminamos por que

124
00:08:01,630 --> 00:08:02,770
el Justin está bien.

125
00:08:02,950 --> 00:08:03,580
Eso sería.

126
00:08:03,730 --> 00:08:06,250
Es decir, el cambio ya lo tenemos implementado.

127
00:08:06,520 --> 00:08:08,140
Entonces bueno, levantemos.

128
00:08:13,050 --> 00:08:14,150
Vamos a hacer el despliegue.

129
00:08:25,850 --> 00:08:26,040
Click.

130
00:08:27,880 --> 00:08:29,500
Bien, enviar tal cual.

131
00:08:30,340 --> 00:08:30,790
Perfecto.

132
00:08:31,270 --> 00:08:34,300
Se me ocurría, pero también trajo el campo el Yussef es requerido.

133
00:08:34,390 --> 00:08:36,280
El pavor no puede ser vacío.

134
00:08:36,370 --> 00:08:38,680
El email es requerido, debe tener un formato de correo.

135
00:08:39,310 --> 00:08:40,600
Bueno, el lenguaje.

136
00:08:40,690 --> 00:08:44,540
El país está todo seleccionado por defecto, pero el idioma no se fijan acá.

137
00:08:44,680 --> 00:08:46,330
Debe Rosette perfecto.

138
00:08:46,450 --> 00:08:49,060
De hecho, voy a demarcar todo acá con control.

139
00:08:51,960 --> 00:08:54,450
Y seleccionar acá volvemos a enviar.

140
00:08:55,470 --> 00:08:59,320
Ahora parece todo lo campo fijo en el país, los roles.

141
00:08:59,350 --> 00:08:59,640
Todo.

142
00:09:00,390 --> 00:09:01,830
Ahora si vamos seleccionando.

143
00:09:07,180 --> 00:09:12,280
Dejamos todo marcado por defecto el usuario inglés enviar y validar bien.

144
00:09:13,440 --> 00:09:14,280
Volvemos.

145
00:09:15,470 --> 00:09:22,970
Puede quitar tres acá, enviar la marca solamente usuario y password, nada más password y el requerido

146
00:09:23,210 --> 00:09:24,260
si tienen esos dos santibã.

147
00:09:24,350 --> 00:09:29,390
Arriba o dejo acá acampo y por supuesto el diseño se lo podemos customizar acá con hoja de estilo y

148
00:09:29,390 --> 00:09:29,720
todo.

149
00:09:30,050 --> 00:09:35,480
De hecho, la siguiente clase vamos a ver cómo mejorar de forma gráfica utilizando vostra los estilos

150
00:09:35,480 --> 00:09:41,010
de formulario es un plus para que lo pongo, complementÃ también con otras vista en otro HTML.

151
00:09:41,150 --> 00:09:45,980
En fin, este sube simple porque solamente tenemos que copiar y pegar un estilo, una hoja de estilo

152
00:09:45,980 --> 00:09:50,220
de Bootstrap y agregar un par de clases de CSS.

153
00:09:50,360 --> 00:09:54,980
Obviamente si, entre muchos detalles, porque todo lo que esos gati los CSS da para un curso completo

154
00:09:54,980 --> 00:09:58,670
desde cero, acá solamente lo vamos a utilizar, implementar y explicar lo básico.

155
00:09:58,760 --> 00:09:59,960
Bueno, quedamos hasta acá.

156
00:10:00,020 --> 00:10:01,970
Continuamos en la siguiente clase.
