1
00:00:00,210 --> 00:00:07,680
Bien, entonces cada elemento de formulario va a tener sus valedores privat del tipo list y el tipo

2
00:00:09,090 --> 00:00:14,160
validador, pero recuerden del tipo genérico de la interfaz, porque puede ser cualquier implementación

3
00:00:14,160 --> 00:00:14,700
concreta.

4
00:00:14,790 --> 00:00:21,750
Puede que tenga no nulo, pero además que sea de correo electrónico o bien que se requerido que también

5
00:00:21,900 --> 00:00:24,270
validar pregon tipo de rango de tamaño.

6
00:00:24,450 --> 00:00:25,950
En fin, hay diferentes combinaciones.

7
00:00:26,130 --> 00:00:33,330
Un campo puede asignar distintos tipos de valores, distintas implementaciones y el padre que reúne

8
00:00:33,420 --> 00:00:35,790
a twitt implementaciones es el tipo valida.

9
00:00:36,270 --> 00:00:38,520
Por eso colocamos acá el tipo genérico.

10
00:00:38,790 --> 00:00:49,200
Entonces una lista valida es bien importamos primero de list ya útil, importante, siempre ya útil

11
00:00:49,320 --> 00:00:55,700
y nunca yaba adolecente porque muchas veces se equivocan, importan del paquete equivocado.

12
00:00:56,010 --> 00:01:01,470
Entonce de ya útil importamos validador de nuestro package.

13
00:01:01,870 --> 00:01:07,160
Bien y también errores, pero del tipo string.

14
00:01:08,550 --> 00:01:13,860
Su mensaje de error es mucho más simple del tipo string errores.

15
00:01:14,370 --> 00:01:21,030
Entonces dos atributos y bien, pero tenemos que inicializar estos list acá en el constructor le tenemos

16
00:01:21,030 --> 00:01:27,060
que dar una instancia despuntó validador es new.

17
00:01:27,150 --> 00:01:32,040
Recuerden que list es la interfaz, pero la implementación concreta es ArrayList.

18
00:01:36,000 --> 00:01:39,600
Disputo errores y lo mismo.

19
00:01:45,140 --> 00:01:52,150
Está molesto y recuerden que el constructor que recibe el nombre invoca diz para inicializar estos dos

20
00:01:52,240 --> 00:01:58,390
arreglos olitas con las instancias que faltaría para el caso de Valedores.

21
00:01:58,690 --> 00:02:03,640
Vamos a implementar el método ADD para que se puedan agregar desde fuera de la clase repecto errores.

22
00:02:03,730 --> 00:02:07,450
No necesario porque los mensajes de error se agregan dentro de la clase.

23
00:02:07,630 --> 00:02:12,880
Después vamos a implementar un método es válido y si falla la validación, si retorna fols.

24
00:02:13,030 --> 00:02:15,910
Entonces asignamos mensajes de error a la lista.

25
00:02:16,200 --> 00:02:25,240
Bien, entonces por acá public va a retornar elemento form para que se pueda encadenar.

26
00:02:25,330 --> 00:02:26,060
O puede ser Void.

27
00:02:26,200 --> 00:02:34,360
Pero si retornamos la misma instancia, el mismo objeto o tipo de la clase elemento form se puede encadenar

28
00:02:35,410 --> 00:02:40,480
add validador validador

29
00:02:43,870 --> 00:02:44,440
DIS.

30
00:02:44,560 --> 00:02:48,100
Punto variadores punto AB.

31
00:02:48,910 --> 00:02:55,420
Recuerden que el ArrayList o el list tienen método ADD para asignar o guardar elementos al arreglo a

32
00:02:55,420 --> 00:02:56,020
esta lista.

33
00:02:58,510 --> 00:03:04,150
También recuerden que a diferencia de los arreglos de Java, una lista maneja de forma dinámica el tamaño,

34
00:03:04,270 --> 00:03:09,940
por lo tanto, no requiere tener que utilizar un índice que se vaya incrementando.

35
00:03:10,190 --> 00:03:13,420
No todo eso lo maneja forma automática ratón.

36
00:03:14,920 --> 00:03:21,640
Recuerda entonces Rotondo Mortis, el tipo mismo de la clase para invocar el método a validador de forma

37
00:03:21,640 --> 00:03:22,210
encadenada.

38
00:03:22,810 --> 00:03:30,580
Y por último, podríamos el método implementar el método inquieto pero de errores nada más de errores.

39
00:03:31,270 --> 00:03:37,720
Errores nada más para que podamos ver leer los mensajes de error de la validación desde fuera, por

40
00:03:37,720 --> 00:03:40,480
ejemplo, desde la clase principal con el método main.

41
00:03:40,660 --> 00:03:43,660
Entonces get errores poder leer los mensajes de error.

42
00:03:45,020 --> 00:03:45,290
Bien.

43
00:03:45,380 --> 00:03:51,590
Y por último, por acá arriba de abstracto, originalmente lo método abstracto van al final 12K.

44
00:03:51,620 --> 00:03:56,960
Vamos a tener el método para validar validar el campo con los diferentes valores.

45
00:03:57,140 --> 00:04:07,520
Entonces Public bullían es válido sin argumento, porque en este caso va a validar con los variadores

46
00:04:07,730 --> 00:04:10,100
que hemos agregado en el add validador.

47
00:04:10,760 --> 00:04:22,880
Entonces acá y tiramos con un foreach un for convencional validador recortÃ do punto variadores o dis

48
00:04:22,970 --> 00:04:24,110
validador como quieran.

49
00:04:25,640 --> 00:04:29,510
Bien, entonces y con los valores lleca preguntamos if.

50
00:04:30,350 --> 00:04:33,050
Entonces si es distinto de válido de cada uno.

51
00:04:33,290 --> 00:04:38,130
Entonces si no reclamacion invertido v cada valor es válido.

52
00:04:38,360 --> 00:04:43,430
El método traqueto que implementamos en cada uno y validamos cada uno con cada regla de validación.

53
00:04:43,590 --> 00:04:44,630
Y acá tengo que pasar un valor.

54
00:04:44,690 --> 00:04:45,320
Un string.

55
00:04:45,530 --> 00:04:46,100
Qué valor?

56
00:04:47,580 --> 00:04:54,960
Esta capa el valor de campo este vamos a validar entonces acá 10 puntos valor.

57
00:04:56,890 --> 00:04:59,220
Bien, entonces, qué pasa si no es válido?

58
00:04:59,310 --> 00:05:03,360
Si falló, por ejemplo, bueno, tenemos que asignar los mensajes de error.

59
00:05:04,110 --> 00:05:07,930
Disputo error punto ADD.

60
00:05:08,520 --> 00:05:09,210
Y qué mensaje?

61
00:05:09,280 --> 00:05:12,570
Bueno, el mensaje de error por defecto del Valledor.

62
00:05:12,750 --> 00:05:16,140
Recuerden, cada validador tiene su propio mensaje de error.

63
00:05:16,340 --> 00:05:18,630
Entonces el punto get mensaje.

64
00:05:21,030 --> 00:05:22,560
Se fijan, entonces es válido.

65
00:05:22,650 --> 00:05:25,710
Recuerden que cada validador acá tenemos la clase abstracta.

66
00:05:26,060 --> 00:05:27,060
Tienen método abstracto.

67
00:05:27,150 --> 00:05:27,660
Es válido?

68
00:05:28,320 --> 00:05:31,320
Y el método abstracto guet mensaje y cada uno lo implementa.

69
00:05:31,350 --> 00:05:33,640
Por ejemplo, como vimos el último.

70
00:05:33,810 --> 00:05:35,250
O cualquiera da lo mismo.

71
00:05:35,340 --> 00:05:38,310
Y Mel Validador implementa el mensaje.

72
00:05:39,000 --> 00:05:41,670
Acá tiene el gillet mensaje y el método es válido.

73
00:05:41,700 --> 00:05:43,110
Que recibe un string.

74
00:05:43,230 --> 00:05:45,810
El valor y lo valida con su implementación.

75
00:05:46,590 --> 00:05:50,190
El largo también lo valida con su propia implementación.

76
00:05:50,490 --> 00:05:51,030
El valor.

77
00:05:51,240 --> 00:05:54,420
Y es justamente lo que estamos haciendo acá en ejemplo.

78
00:05:54,630 --> 00:05:56,460
En el elemento form acá.

79
00:05:57,520 --> 00:06:04,540
Recorremos cada validador de la lista y validamos invocando el método es válido y le pasamos el valor

80
00:06:04,540 --> 00:06:05,110
del campo.

81
00:06:05,530 --> 00:06:09,370
Si no se cumple, si no es válido, por lo tanto es inválido.

82
00:06:09,640 --> 00:06:14,590
Pasamos o guardamos el mensaje de error del validador y listo.

83
00:06:15,710 --> 00:06:23,030
Ahora retornamos Truffaut dependiendo si herrores tiene contenido, es decir, si ocurrieron errores

84
00:06:23,240 --> 00:06:26,330
o se agregaron mensajes de error a esta lista.

85
00:06:26,900 --> 00:06:28,480
Entonces retornamos acá fols.

86
00:06:28,580 --> 00:06:31,850
No es válido, pero también muy simple.

87
00:06:33,050 --> 00:06:33,530
Punto.

88
00:06:33,590 --> 00:06:34,190
Errores.

89
00:06:34,760 --> 00:06:36,480
Esta lista de mensaje de error.

90
00:06:36,710 --> 00:06:38,000
Preguntamos si está vacía.

91
00:06:40,360 --> 00:06:41,500
Entonces está vacía.

92
00:06:42,040 --> 00:06:45,430
Va a retornar Thru, es decir, no tiene errores porque está vacía.

93
00:06:45,520 --> 00:06:48,850
No se agregó ningún error en la lista en errores.

94
00:06:49,060 --> 00:06:51,520
Pero si no está vacía, va a retornar fols.

95
00:06:51,640 --> 00:06:54,830
Entonces va a ser inválido la validación del campo.

96
00:06:55,000 --> 00:06:59,170
Aunque tenemos dos forma de validar is empty sería una forma y otra forma.

97
00:06:59,320 --> 00:07:00,520
Por acá tenemos 6.

98
00:07:03,040 --> 00:07:07,540
Entonces, si la canti elementos es igual a cero, también es true.

99
00:07:08,200 --> 00:07:13,180
Esto, lo mismo que siempre se la cantidad de elementos o el tamaño es igual a cero.

100
00:07:13,290 --> 00:07:18,400
Es porque si no tiene elementos, entonces a no tener elementos no tiene mensaje de error.

101
00:07:18,670 --> 00:07:22,980
Por lo tanto es válido y listo.

102
00:07:23,200 --> 00:07:24,340
Ahí lo tenemos implementado.

103
00:07:25,850 --> 00:07:31,100
Yo no sé que está molesto, entonces la siguiente clase vamos a ir a ejemplos por acá.

104
00:07:33,640 --> 00:07:39,630
Vamos a crear instancias de los goleadores y lo vamos a agregar con el método ad validador a cada campo,

105
00:07:39,880 --> 00:07:44,420
entonces cada campo va a tener su propio boleadoras para Halloween, para el pago, para el email,

106
00:07:44,590 --> 00:07:45,190
la edad.

107
00:07:45,460 --> 00:07:48,520
En fin, y pudiera tener un validador o más de un valor.

108
00:07:48,640 --> 00:07:50,890
Cada campo puede agrupar valedores.

109
00:07:51,100 --> 00:07:51,300
Bien.

110
00:07:51,400 --> 00:07:51,970
Nada más.

111
00:07:52,030 --> 00:07:53,930
Continuamos en la siguiente clase.
