1
00:00:00,150 --> 00:00:00,840
Bien, sigamos.

2
00:00:00,900 --> 00:00:05,970
La idea es automatizar un poco más nuestro código sobre la implementación del formulario, porque Spring

3
00:00:06,030 --> 00:00:09,200
puede hacer esto mucho más robusto y automático.

4
00:00:09,240 --> 00:00:14,880
Por ejemplo, por cada input podemos quitar el naik y también podemos quitar el valeo, y esto es reemplazado

5
00:00:14,880 --> 00:00:18,810
por una etiqueta propia de Time Life y de formulario con Spring.

6
00:00:18,990 --> 00:00:23,850
Por ejemplo, puede quitar esto el name y el Valium?

7
00:00:23,930 --> 00:00:31,860
TH Valeo lo voy a cambiar por field o campo, pero bueno, cuando mapeados un campo del formulario un

8
00:00:31,860 --> 00:00:38,820
input a un objeto u utilizando field con spring y timeline en vez de Shindo peso, usamos el asterisco.

9
00:00:39,030 --> 00:00:39,690
Así de simple.

10
00:00:39,750 --> 00:00:47,280
El asterisco indica que se refiere a un mapping mapeo o asignación de un campo a un atributo de una

11
00:00:47,280 --> 00:00:47,610
clase.

12
00:00:47,790 --> 00:00:49,110
Pero qué objeto?

13
00:00:49,110 --> 00:00:49,590
Qué clase?

14
00:00:50,600 --> 00:00:56,450
Bueno, vamos a decir que está mapeado al atributo y Usenet ya, pero falta todavía especificar de qué

15
00:00:56,450 --> 00:00:59,990
clase, de qué objeto, de qué objeto, qué está pasado a la vista.

16
00:01:00,150 --> 00:01:07,280
Porque recordemos que acá pasamos al objeto usuario, lo pasamos acá en el formulario y también se pasa

17
00:01:07,280 --> 00:01:08,570
de forma automática acá.

18
00:01:08,780 --> 00:01:11,030
En caso de error se pasa de forma automática.

19
00:01:11,210 --> 00:01:14,890
Vimos la clase anterior que se puede cambiar este nombre con el modelo atributo.

20
00:01:15,050 --> 00:01:21,200
Pero usamos el mismo nombre que la clase usuario, pero siempre iniciando minuscula versus la clase

21
00:01:21,570 --> 00:01:22,000
en mayúscula.

22
00:01:22,140 --> 00:01:28,250
Pero bien, sería este el objeto usuario que estaría mapeado al formulario, pero para eso lo tenemos

23
00:01:28,250 --> 00:01:30,800
que indicar en la etiqueta form acá.

24
00:01:31,370 --> 00:01:40,480
Entonces, por ejemplo, por acá, acá tenemos el atributo object de objeto y como siempre, bueno,

25
00:01:40,550 --> 00:01:42,500
con signo peso, las llaves.

26
00:01:42,710 --> 00:01:49,560
Indicamos el nombre de este atributo, el mismo, el mismo que tenemos acá mismo con el cual se pasa

27
00:01:49,560 --> 00:01:50,600
a la vista usuario.

28
00:01:50,900 --> 00:01:54,950
Entonces vamos a copiar y lo pegamos acá en el object.

29
00:01:55,280 --> 00:01:59,870
Entonces este formulario y cada uno su campo está mapeado a este objeto.

30
00:02:00,200 --> 00:02:07,430
Entonces solamente indicamos el nombre del atributo con el asterisco y las llaves y TH Field y Leidy

31
00:02:07,430 --> 00:02:09,320
lo mantenemos porque la app es para Afore.

32
00:02:09,740 --> 00:02:13,880
Y esto es para mapear el formulario a la clase POJO o Modell.

33
00:02:14,060 --> 00:02:15,110
En este caso usuario.

34
00:02:15,560 --> 00:02:17,480
Pero bien acá también en el password.

35
00:02:17,810 --> 00:02:21,800
Entonces voy a copiar esto el TH Field y lo pegamos acá.

36
00:02:23,180 --> 00:02:30,260
Lo importante es que escriban bien el nombre TH 2.y field igual asterisco las llaves y acá sería password.

37
00:02:31,820 --> 00:02:37,070
Acá se indica solamente el nombre del atributo, no el objeto punto y el atributo como lo teníamos acá

38
00:02:37,250 --> 00:02:38,630
objeto usuario punto.

39
00:02:38,720 --> 00:02:45,530
El atributo no necesario porque con TH Field de sabe que el objeto está acá, corresponde al objeto

40
00:02:45,530 --> 00:02:54,770
usuario solamente el atributo y también acá quitamos el valium, lo pegamos, cambiamos por email y

41
00:02:54,800 --> 00:03:03,530
quitamos el name porque de forma automática el TH Field agrega el atributo name con el nombre del atributo.

42
00:03:03,680 --> 00:03:09,650
De forma automática lo agrega y también agrega el Valium en caso de mostrar valores del atributo en

43
00:03:09,650 --> 00:03:13,220
el formulario en la plantilla y guardamos dejan menos código.

44
00:03:13,320 --> 00:03:20,900
Está un poco más automático con TH Object y field el objeto y los atributos y siempre con asterisco

45
00:03:20,960 --> 00:03:22,670
y las llaves y el nombre del atributo.

46
00:03:22,920 --> 00:03:24,860
Bien, voy a levantar para probar.

47
00:03:25,070 --> 00:03:27,560
Nos vamos a formulario Spring Woodford.

48
00:03:28,880 --> 00:03:29,540
Levantamos.

49
00:03:33,160 --> 00:03:34,840
Bueno, debería funcionar igual que antes.

50
00:03:34,930 --> 00:03:37,840
Exactamente igual enviamos perfecto.

51
00:03:38,790 --> 00:03:39,420
Andrés.

52
00:03:42,820 --> 00:03:43,570
Perfecto.

53
00:03:45,590 --> 00:03:46,070
Enviar.

54
00:03:46,430 --> 00:03:50,670
Funciona bien, igual, pero con mejor implementación, que sería la forma recomendada.

55
00:03:50,790 --> 00:03:55,100
Finalmente, pero bueno, también se puede automatizar mucho más los mensajes de error.

56
00:03:55,370 --> 00:04:01,400
Por ejemplo, en el controlador for controller, acá en el erros todo esto se podría quitar.

57
00:04:01,760 --> 00:04:04,220
Bueno, en el caso de ustedes lo pueden comentar.

58
00:04:04,430 --> 00:04:09,140
En mi caso lo voy a quitar porque esto ya se maneja en promote mÃtica, en Tillie también.

59
00:04:09,260 --> 00:04:15,110
Entonces el manejo de error, en vez de hacerlo forma manual y explícita, lo vamos a trabajar de forma

60
00:04:15,200 --> 00:04:19,130
automática e implicita por ti Elif Spring Framework.

61
00:04:19,250 --> 00:04:24,860
Entonces esto lo comentan, yo lo voy a quitar o pueden hacer un respaldo de proyecto también y lo eliminan

62
00:04:24,860 --> 00:04:25,430
como quieran.

63
00:04:25,610 --> 00:04:27,590
Voy a quitar los import, se fijan?

64
00:04:27,620 --> 00:04:30,380
Ya no hay Hazmat, queda mucho menos código, más limpio.

65
00:04:30,530 --> 00:04:35,720
Bueno, finalmente es la idea de usar un framework, automatizar un poco las cosas, menos código,

66
00:04:35,720 --> 00:04:37,820
más limpio, menos probabilidad de errores.

67
00:04:37,910 --> 00:04:38,990
En fin, es la idea.

68
00:04:39,110 --> 00:04:42,530
Guardamos el controlador y los mensajes de error ya se maneja en forma automática.

69
00:04:42,620 --> 00:04:45,990
Entonces en la vista tenemos que cambiar también por cada div.

70
00:04:46,190 --> 00:04:47,060
El th if.

71
00:04:47,210 --> 00:04:52,070
El th text lo cambiamos por la implementación propia de timeline con Spring.

72
00:04:52,490 --> 00:05:00,070
Entonces esto lo quitamos o mejor o mejor esto le quitamos esto de acá vamos a dejar los paréntesis

73
00:05:00,560 --> 00:05:03,230
todo acá con la comillas simple y usenet.

74
00:05:03,410 --> 00:05:04,190
Eso lo dejamos.

75
00:05:05,000 --> 00:05:07,070
Y esto lo vamos a reemplazar por otra cosa.

76
00:05:07,190 --> 00:05:14,570
Primero gato en Time Lif usamos gato para utilizar un objeto halpert o de utilidad detailed, en este

77
00:05:14,570 --> 00:05:20,750
caso el objeto de Taime Lif que propio Tayyip un Halpert para validar o para obtener un mensaje de error

78
00:05:20,930 --> 00:05:31,610
se llama fields en plural con ese importante gato fields punto jass errors en plural también con esa

79
00:05:32,330 --> 00:05:35,420
conectaría helper este objeto field details diff.

80
00:05:35,840 --> 00:05:38,240
Preguntamos si este campo tiene errores.

81
00:05:38,540 --> 00:05:40,340
El campo Yussef está acá.

82
00:05:40,640 --> 00:05:49,790
Si tiene mostramos el error de acá cambia en vez de th text sería errors de errores también en plural

83
00:05:49,880 --> 00:05:54,140
plural con s y acá también plural con s y el field también.

84
00:05:54,330 --> 00:06:00,950
Bueno, esto lo digo y lo subrayo porque ocurre muchas veces este tipo de error que se comen una s.

85
00:06:01,160 --> 00:06:04,910
Entonces para evitar eso prefiero insistir en esto posible errores.

86
00:06:05,120 --> 00:06:05,960
Bueno, continuemos.

87
00:06:06,170 --> 00:06:07,220
TH 2 punto.

88
00:06:07,320 --> 00:06:11,660
Errores igual en vez de 1 peso hacemos referencia al campo.

89
00:06:11,750 --> 00:06:20,450
Entonces sería exactamente igual que esto sería asterisco Yousef de asterisco USENET.

90
00:06:20,930 --> 00:06:26,090
Entonces mostramos los errores del atributo o del campo con asterisco.

91
00:06:27,060 --> 00:06:28,680
Y justamente se fijan.

92
00:06:29,520 --> 00:06:31,170
Bueno, vamos a copiar esto.

93
00:06:34,430 --> 00:06:35,390
Y lo pegamos acá.

94
00:06:38,870 --> 00:06:40,730
Cambiamos por password.

95
00:06:43,250 --> 00:06:47,630
Deja también asterisco, llaves, password.

96
00:06:47,960 --> 00:06:50,360
En tacheros y llega también.

97
00:06:55,770 --> 00:06:58,540
E-mail yega también email.

98
00:07:00,390 --> 00:07:06,160
Entonces recuerden que matérico llaves para mapear campo el formulario, ya sea a un atributo entity

99
00:07:06,300 --> 00:07:12,770
y en este caso para el mensaje error de ese campo, mientras que el signo peso y las llaves bueno es

100
00:07:12,810 --> 00:07:18,510
para una expresión con código yaba, ya sea para validar con THB, para una interpolación de string,

101
00:07:18,570 --> 00:07:22,380
para mostrar datos F y para mapear en este caso el objeto.

102
00:07:22,980 --> 00:07:30,270
Acá también usamos las llaves, sino peso llaves para mostrar el título en el TH text extrapolación

103
00:07:30,270 --> 00:07:34,680
de estric y con el ArruÃ son rutas o RT bien guardamos.

104
00:07:35,590 --> 00:07:37,510
Y está molesto, está mucho más automático.

105
00:07:37,630 --> 00:07:38,350
Vamos a revisar.

106
00:07:38,800 --> 00:07:40,180
Bueno, lo primero es volver.

107
00:07:41,450 --> 00:07:47,750
Hacemos un refresco o Df5 o actualizamos acá y bueno, enviar hasta momento funciona.

108
00:07:48,170 --> 00:07:50,480
No puede estar vacío, no puede estar vacío, postearlo si se fijan.

109
00:07:50,540 --> 00:07:53,170
Ahora muestre mensajes de error propios de sprint.

110
00:07:53,420 --> 00:07:55,070
Ya no son personalizados, se fijan.

111
00:07:55,160 --> 00:07:56,360
Ya cambió el mensaje.

112
00:07:56,400 --> 00:07:58,670
Pero bueno, se refiere a que el campo no puede estar vacío.

113
00:07:59,570 --> 00:08:01,790
Andrés desaparece.

114
00:08:03,300 --> 00:08:06,660
El correo desaparece y el password.

115
00:08:07,760 --> 00:08:09,860
Lo álida un, dos, tres.

116
00:08:09,950 --> 00:08:10,400
Enviar?

117
00:08:10,850 --> 00:08:11,360
Perfecto.

118
00:08:11,870 --> 00:08:17,150
No sé, otra forma mucho más automática de validar y de trabajar formulario.

119
00:08:17,420 --> 00:08:20,780
Bueno, recuerden que se mantiene todia el usuario.

120
00:08:20,780 --> 00:08:26,090
Acá se pasa, se puede la forma automática y en caso Rot también se pasa la vista con el mismo nombre,

121
00:08:26,450 --> 00:08:27,680
igual que antes.

122
00:08:27,800 --> 00:08:33,980
Si quieren renombrar el objeto del formulario, el objeto, la vista en este caso usuario, lo cambian

123
00:08:33,980 --> 00:08:40,100
acá, por supuesto, pero también lo cambian acá con el Modell atributo y también en la plantilla.

124
00:08:40,610 --> 00:08:44,330
Acá en vez de usuario sería el otro nombre, porque acá ya no es necesario.

125
00:08:44,420 --> 00:08:46,220
Acá son solamente nombres de campos.

126
00:08:46,580 --> 00:08:47,840
Se fijan bastante simple.

127
00:08:47,900 --> 00:08:51,290
Bueno, por ahora quedamos hasta acá y continuamos la siguiente clase.
