1
00:00:00,180 --> 00:00:02,010
Bien, veamos cómo validad los campos.

2
00:00:02,190 --> 00:00:05,040
Entonces bueno, tenemos que agregar variadores en cada uno.

3
00:00:05,130 --> 00:00:06,780
En el Yussef Name, en el password.

4
00:00:06,870 --> 00:00:15,150
Y así entonces vamos a partir primero en el Yussef, debajo Yussef de punto add validador perfecto y

5
00:00:15,150 --> 00:00:16,830
acá agregamos uno new.

6
00:00:16,950 --> 00:00:20,880
Vamos a a a a crear la instancia, por ejemplo, de requerido validador.

7
00:00:22,140 --> 00:00:22,590
Listo.

8
00:00:23,940 --> 00:00:25,230
Continuabas también con password.

9
00:00:25,320 --> 00:00:30,030
Por acá ad validador new.

10
00:00:30,270 --> 00:00:31,770
Lo mismo requirió aliaba.

11
00:00:32,160 --> 00:00:34,470
Pero por ejemplo, también podríamos agregar otro más.

12
00:00:35,340 --> 00:00:41,160
Punto add new largo perfecto largo va a leer.

13
00:00:41,220 --> 00:00:43,150
Pero recuerden entre un mínimo y un máximo.

14
00:00:43,200 --> 00:00:49,000
Por ejemplo, el mínimo va a tener 6 caracteres coma y el máximo 12.

15
00:00:50,040 --> 00:00:50,610
El Limay.

16
00:00:54,270 --> 00:00:57,660
Bueno, primero que sea requerido antes que validar el correo.

17
00:00:58,500 --> 00:01:02,950
Y también recuerden que lo podemos invocar de forma encadenada, es decir, punto o bajamos.

18
00:01:02,970 --> 00:01:06,300
Punto ad validador porque retorna a la misma instancia.

19
00:01:06,780 --> 00:01:12,900
Entonces new email se fijan y acá también en password, incluso en password.

20
00:01:12,900 --> 00:01:14,760
Quitamos el punto y coma.

21
00:01:15,660 --> 00:01:17,160
Quitamos password.

22
00:01:18,150 --> 00:01:19,490
Lo enfocamos de forma encadenada.

23
00:01:20,040 --> 00:01:20,670
La edad?

24
00:01:20,900 --> 00:01:23,490
Bueno, se puede leer como un nombre, un número.

25
00:01:26,670 --> 00:01:30,030
Número, valor y experiencia.

26
00:01:30,030 --> 00:01:35,690
Lo podría dejar opcional para el ejemplo, pero igual podemos validar como requerido no nul como lo

27
00:01:35,700 --> 00:01:36,320
queremos manejar.

28
00:01:37,140 --> 00:01:37,920
Lenguaje

29
00:01:40,260 --> 00:01:46,440
punto ad validador no nulo.

30
00:01:47,730 --> 00:01:49,650
Es decir, tenemos que seleccionar un elemento.

31
00:01:49,980 --> 00:01:51,210
No puede ser nulo.

32
00:01:51,630 --> 00:01:52,200
Perfecto.

33
00:01:52,860 --> 00:01:54,720
Ahí tenemos y estemos listo.

34
00:01:54,730 --> 00:01:56,040
Entonces ahora vamos a validar.

35
00:01:57,040 --> 00:01:59,950
Con un Ford acá tenemos la lista de elementos.

36
00:02:00,070 --> 00:02:05,350
Entonces, después de dibujar el HTML por acá, validamos elementos.

37
00:02:05,680 --> 00:02:06,280
Punto.

38
00:02:06,340 --> 00:02:15,430
Bueno, igual con un for icha for each, una expresión lanta e o elemento como le queramos llamar las

39
00:02:15,430 --> 00:02:17,610
llaves y preguntamos con un if.

40
00:02:18,010 --> 00:02:20,920
Entonces if por cada elemento validamos.

41
00:02:21,610 --> 00:02:28,250
Entonces, si es distinto de válido e punto es válido, valíamos cada elemento.

42
00:02:29,950 --> 00:02:33,870
Entonces si falla la validación porque estamos negando que sea válido?

43
00:02:34,020 --> 00:02:36,400
Bueno, mostramos lo mensaje de error.

44
00:02:36,580 --> 00:02:44,290
Recuerden que tenemos el método get errores del elemento e elemento punto get errores.

45
00:02:44,380 --> 00:02:47,680
La ley de errores punto y tiramos porque es una lista.

46
00:02:47,740 --> 00:02:51,550
Podríamos utilizar también frizz otro for each anidado acá.

47
00:02:51,730 --> 00:02:53,080
Error de error.

48
00:02:54,670 --> 00:02:56,320
Imprimimos las llaves.

49
00:02:57,310 --> 00:02:59,260
Shout error.

50
00:03:00,300 --> 00:03:04,990
Es esto un detalle importante en expresiones lanta, como en el foreach?

51
00:03:05,130 --> 00:03:06,870
Aunque después lo vamos hacer más en detalle.

52
00:03:06,960 --> 00:03:13,290
Pero cuando tenemos una línea de código, una sentencia se puede omitir acá las llaves y también el

53
00:03:13,290 --> 00:03:13,890
punto y coma.

54
00:03:14,010 --> 00:03:16,050
Entonces podemos quitar las llaves acá.

55
00:03:16,240 --> 00:03:18,240
Acá quitamos el punto y coma.

56
00:03:18,690 --> 00:03:20,200
Y esto lo dejamos acá.

57
00:03:20,940 --> 00:03:21,480
Se fijen.

58
00:03:23,050 --> 00:03:26,400
Queda más simple, que es mucho más simple sin las llaves.

59
00:03:26,800 --> 00:03:27,460
Y funciona igual.

60
00:03:27,550 --> 00:03:30,520
Incluso después vamos a ver otra forma que se puede optimizar un poco más.

61
00:03:30,640 --> 00:03:31,870
Pero bien, vamos a probar.

62
00:03:32,050 --> 00:03:34,150
De momento debería estar todo bien.

63
00:03:34,330 --> 00:03:34,810
Veamos.

64
00:03:35,050 --> 00:03:35,860
Levantamos.

65
00:03:37,000 --> 00:03:42,040
Se fijan, no muestren ningún mensaje error, solamente muestro los campo, porque claro, las condiciones

66
00:03:42,040 --> 00:03:42,550
también.

67
00:03:43,150 --> 00:03:45,010
Acá tenemos el password.

68
00:03:45,880 --> 00:03:46,960
Acá tenemos los valores.

69
00:03:48,250 --> 00:03:55,030
El password tiene ese carácter, ese que está bien, pero por ejemplo, coloquemos o quitemos Johnno,

70
00:03:55,220 --> 00:03:56,860
vamos a quitar, lo dejamos en blanco.

71
00:03:58,170 --> 00:04:02,880
Bueno, y tiene requerido valor, por lo tanto debería dar algún mensaje error.

72
00:04:02,940 --> 00:04:08,490
Entonces levantamos al menos uno en él yussef n el campo requerido se fijan.

73
00:04:09,440 --> 00:04:18,040
Ahora, qué pasa si el password que entre 6 y 12 lo dejamos en 5 caracteres lo tenemos por acá?

74
00:04:18,730 --> 00:04:20,610
Acá voy a quitarle el 3.

75
00:04:21,650 --> 00:04:22,520
Vamos a levantar.

76
00:04:24,520 --> 00:04:29,560
El campo de tener mínimos caracteres y un máximo de 2 secretos, entonces está valiendo bien.

77
00:04:29,800 --> 00:04:33,160
El tema es que nos estamos tirando todavía el nombre campo.

78
00:04:33,250 --> 00:04:36,160
Eso lo podemos agregar como para saber que campo está dando error.

79
00:04:37,160 --> 00:04:40,270
Ya si se fija en el correo puede quitar el arroba.

80
00:04:41,120 --> 00:04:41,720
Por ejemplo.

81
00:04:43,630 --> 00:04:51,760
Y empieza a validar el formato el email es inválido, acaba de colocar 28 L no es dígito, no es un

82
00:04:51,760 --> 00:04:52,180
número.

83
00:04:53,140 --> 00:04:54,370
El campo de ser un número.

84
00:04:55,150 --> 00:04:56,590
Voy a comentar acá.

85
00:04:56,740 --> 00:05:01,330
Cuando seleccionamos un elemento acá selector, lo voy a quitar esto.

86
00:05:02,810 --> 00:05:03,410
Se fijan?

87
00:05:07,050 --> 00:05:12,330
El campo no puede ser nulo y así empezó a liar cada campo y sus valores.

88
00:05:12,570 --> 00:05:14,040
Así que está funcionando perfecto.

89
00:05:14,580 --> 00:05:16,320
Pero como decía, lo podemos mejorar.

90
00:05:16,380 --> 00:05:16,830
Cómo?

91
00:05:16,980 --> 00:05:22,860
Bueno, veamos, acá en el foreach hay una forma para optimizar un poco más.

92
00:05:23,580 --> 00:05:30,540
Por ejemplo, en vez colocar sisten punto out, punto print LN Fíjate lo que debe ser, puede quitar

93
00:05:30,840 --> 00:05:34,610
el punto, puede colocar dos puntos y voy a quitar esto de acá.

94
00:05:36,550 --> 00:05:40,700
Y quitamos esto el parámetro, el argumento lo dejamos de esa forma.

95
00:05:42,350 --> 00:05:42,950
Funciona.

96
00:05:43,130 --> 00:05:45,350
Lo ejecutamos y funciona tal cual.

97
00:05:45,440 --> 00:05:47,270
Por qué es un atajo?

98
00:05:47,390 --> 00:05:48,260
Es un Halia?

99
00:05:48,380 --> 00:05:53,330
Siempre cuando voy a volver atrás para poder explicar eso ahí y ahí.

100
00:05:53,900 --> 00:06:00,020
Bueno, cuando tenemos un argumento, un parámetro que se emite en el foreach y pasamos por argumento

101
00:06:00,110 --> 00:06:03,600
en algún método función, este mismo parámetro se puede asumir.

102
00:06:03,740 --> 00:06:10,490
Si se fijan acá simplemente un parámetro y utilizamos este parámetro o argumento en un método para imprimir,

103
00:06:10,490 --> 00:06:11,000
por ejemplo.

104
00:06:11,150 --> 00:06:14,720
Entonces, bueno, lo quito acá, lo quitamos y quitamos acá también.

105
00:06:14,840 --> 00:06:20,540
Por qué se asume de forma automática que ese argumento se pasa en el método de acá de forma automática?

106
00:06:20,750 --> 00:06:28,730
Pero en vez de punto sería dos puntos para indicar que es un alias o atajo para pasar argumentos en

107
00:06:28,730 --> 00:06:29,570
una prisión lanta.

108
00:06:29,690 --> 00:06:34,160
Se le conoce como método de referencia o referenciado en una prisión lanta.

109
00:06:34,280 --> 00:06:34,520
Entonces.

110
00:06:34,520 --> 00:06:37,580
En el fondo lo que se emite se pasa por argumento acá.

111
00:06:37,670 --> 00:06:39,530
Pero obviamente no lo escribimos.

112
00:06:39,590 --> 00:06:44,180
No colocamos ni paréntesis ni el nombre de la variable argumento.

113
00:06:44,180 --> 00:06:46,010
No se asume por defecto que se pasa.

114
00:06:46,190 --> 00:06:46,640
Se fijan.

115
00:06:46,760 --> 00:06:47,390
Es un atajo.

116
00:06:48,490 --> 00:06:50,410
Bien, ahora, qué pasa si quiero colocar el nombre acá?

117
00:06:50,470 --> 00:06:55,750
Por ejemplo, que me diga el campo, el campo y Yussef Naim requerido el campo password debe tener un

118
00:06:55,750 --> 00:07:02,560
mínimo de caracteres y máximo 12 caracteres el correo o el email formato del email en valio.

119
00:07:02,830 --> 00:07:06,640
El campo debe ser un número, pero el campo sería la edad.

120
00:07:06,790 --> 00:07:12,160
Acá el campo no puede ser nulo, pero se refiere al lenguaje y así colocar el nombre.

121
00:07:12,640 --> 00:07:15,640
Bueno, lo podemos hacer acá con Troceada para regresar.

122
00:07:16,960 --> 00:07:22,390
El único inconveniente que tendríamos quien no podríamos implementar la forma de método referenciado

123
00:07:22,480 --> 00:07:27,740
tiene que ser de forma explícita, porque no solamente se pasan a argumentos, sino también vamos a

124
00:07:27,740 --> 00:07:30,010
embocar o vamos a concatenar con el nombre campo.

125
00:07:30,760 --> 00:07:36,660
Entonces acá en el print line, por ejemplo, el nombre campo lo obtenemos con el elemento claro e.

126
00:07:37,540 --> 00:07:39,850
Entonces e punto get.

127
00:07:39,910 --> 00:07:40,480
Nombre.

128
00:07:40,930 --> 00:07:42,490
Pero no tenemos el nombre Elgueta.

129
00:07:42,610 --> 00:07:46,300
Entonces lo tenemos que crear, lo tenemos que implementar en quien nombre.

130
00:07:46,540 --> 00:07:50,950
Para eso nos vamos al elemento form, a la clase abstracta acá.

131
00:07:52,250 --> 00:07:55,760
Y acá vamos a implementar el método GET para nombre, se fijan?

132
00:07:55,850 --> 00:07:57,630
Ahora necesitamos el método GET.

133
00:07:58,130 --> 00:07:59,150
Entonces por acá.

134
00:08:00,600 --> 00:08:04,760
Generated Kether nonbre Ok.

135
00:08:05,400 --> 00:08:05,820
Listo.

136
00:08:05,940 --> 00:08:07,020
Ahora lo podemos utilizar.

137
00:08:07,830 --> 00:08:10,950
Nos vamos a la clase con el main ejemplo for.

138
00:08:11,860 --> 00:08:13,810
Ahora nyet, un espacio.

139
00:08:13,900 --> 00:08:14,620
Volvemos.

140
00:08:14,710 --> 00:08:15,250
Nombre.

141
00:08:16,150 --> 00:08:16,810
Ahí lo tenemos.

142
00:08:16,900 --> 00:08:19,040
Concatenados, más un string.

143
00:08:19,390 --> 00:08:20,290
Dos punto.

144
00:08:20,380 --> 00:08:22,000
Un espacio y listo.

145
00:08:22,330 --> 00:08:23,230
Ahí tenemos el nombre.

146
00:08:23,350 --> 00:08:25,930
Va a ser mucho más explícito el mensaje.

147
00:08:30,720 --> 00:08:31,030
Yussef.

148
00:08:31,420 --> 00:08:37,940
2 punto el campo requerido clave 2 punto el campo de tener mínimo y así de esta forma sabemosque campo

149
00:08:38,070 --> 00:08:38,670
da al error.

150
00:08:39,630 --> 00:08:42,990
Incluso, por ejemplo, si nos vamos al password por acá.

151
00:08:44,000 --> 00:08:45,080
Qué pasa si lo dejamos vacío?

152
00:08:45,320 --> 00:08:46,310
Dejamos vacío el pascual?

153
00:08:47,240 --> 00:08:49,580
Veamos dos messages de error.

154
00:08:49,730 --> 00:08:53,900
El campo requerido, pero también el campo de tener mínimo 6 y 12.

155
00:08:54,050 --> 00:08:56,090
Es decir, está variando en ambos variable.

156
00:08:57,020 --> 00:08:59,560
Y lo mismo el correo también si lo dejamos vacío.

157
00:09:02,610 --> 00:09:06,630
Va a valer dos veces, es requerido y también por el formato.

158
00:09:09,660 --> 00:09:10,740
Ahora vamos a corregir.

159
00:09:14,190 --> 00:09:19,920
Era un punto, creo, de lo mismo 28 en vez de l 28.

160
00:09:20,880 --> 00:09:23,340
Creo que vamos a tener solamente lenguaje, nada más.

161
00:09:23,630 --> 00:09:25,380
El lenguaje y la clave.

162
00:09:25,770 --> 00:09:28,080
Claro, porque la clave la tenemos acá.

163
00:09:28,830 --> 00:09:33,580
3 Y el lenguaje selected, por ejemplo, ya Yaba o Peyton.

164
00:09:33,670 --> 00:09:36,030
Punto Set Selected.

165
00:09:39,750 --> 00:09:40,300
Ahora no hay error.

166
00:09:40,320 --> 00:09:40,950
Está todo bien.

167
00:09:41,100 --> 00:09:45,900
Todo perfecto y está listo, pero lo podemos mejorar con detalles y es lo que íbamos a hacer.

168
00:09:45,960 --> 00:09:51,450
La siguiente clase, por ejemplo, en la próxima clase, en vez de colocar esto acá.

169
00:09:52,790 --> 00:09:55,520
Concatenar el nombre con el error.

170
00:09:55,740 --> 00:10:00,070
Esto también lo podríamos hacer en la clase, en el validad braca elemento form.

171
00:10:01,780 --> 00:10:02,770
Acá podemos concatenar.

172
00:10:03,370 --> 00:10:05,140
Acá tenemos el nombre y el mensaje.

173
00:10:05,710 --> 00:10:11,970
Incluso podríamos usar una plantilla y utilizar el string format con la porcentage y ya podemos agregar

174
00:10:11,970 --> 00:10:14,410
el nombre campo de forma más personalizada.

175
00:10:14,530 --> 00:10:16,600
Pero bien, lo dejamos para la próxima clase.

176
00:10:16,690 --> 00:10:17,410
Nos vemos.
