Bien, entonces cada elemento de formulario va a tener sus valedores privat del tipo list y el tipo
validador, pero recuerden del tipo genérico de la interfaz, porque puede ser cualquier implementación
concreta.
Puede que tenga no nulo, pero además que sea de correo electrónico o bien que se requerido que también
validar pregon tipo de rango de tamaño.
En fin, hay diferentes combinaciones.
Un campo puede asignar distintos tipos de valores, distintas implementaciones y el padre que reúne
a twitt implementaciones es el tipo valida.
Por eso colocamos acá el tipo genérico.
Entonces una lista valida es bien importamos primero de list ya útil, importante, siempre ya útil
y nunca yaba adolecente porque muchas veces se equivocan, importan del paquete equivocado.
Entonce de ya útil importamos validador de nuestro package.
Bien y también errores, pero del tipo string.
Su mensaje de error es mucho más simple del tipo string errores.
Entonces dos atributos y bien, pero tenemos que inicializar estos list acá en el constructor le tenemos
que dar una instancia despuntó validador es new.
Recuerden que list es la interfaz, pero la implementación concreta es ArrayList.
Disputo errores y lo mismo.
Está molesto y recuerden que el constructor que recibe el nombre invoca diz para inicializar estos dos
arreglos olitas con las instancias que faltaría para el caso de Valedores.
Vamos a implementar el método ADD para que se puedan agregar desde fuera de la clase repecto errores.
No necesario porque los mensajes de error se agregan dentro de la clase.
Después vamos a implementar un método es válido y si falla la validación, si retorna fols.
Entonces asignamos mensajes de error a la lista.
Bien, entonces por acá public va a retornar elemento form para que se pueda encadenar.
O puede ser Void.
Pero si retornamos la misma instancia, el mismo objeto o tipo de la clase elemento form se puede encadenar
add validador validador
DIS.
Punto variadores punto AB.
Recuerden que el ArrayList o el list tienen método ADD para asignar o guardar elementos al arreglo a
esta lista.
También recuerden que a diferencia de los arreglos de Java, una lista maneja de forma dinámica el tamaño,
por lo tanto, no requiere tener que utilizar un índice que se vaya incrementando.
No todo eso lo maneja forma automática ratón.
Recuerda entonces Rotondo Mortis, el tipo mismo de la clase para invocar el método a validador de forma
encadenada.
Y por último, podríamos el método implementar el método inquieto pero de errores nada más de errores.
Errores nada más para que podamos ver leer los mensajes de error de la validación desde fuera, por
ejemplo, desde la clase principal con el método main.
Entonces get errores poder leer los mensajes de error.
Bien.
Y por último, por acá arriba de abstracto, originalmente lo método abstracto van al final 12K.
Vamos a tener el método para validar validar el campo con los diferentes valores.
Entonces Public bullían es válido sin argumento, porque en este caso va a validar con los variadores
que hemos agregado en el add validador.
Entonces acá y tiramos con un foreach un for convencional validador recortÃ do punto variadores o dis
validador como quieran.
Bien, entonces y con los valores lleca preguntamos if.
Entonces si es distinto de válido de cada uno.
Entonces si no reclamacion invertido v cada valor es válido.
El método traqueto que implementamos en cada uno y validamos cada uno con cada regla de validación.
Y acá tengo que pasar un valor.
Un string.
Qué valor?
Esta capa el valor de campo este vamos a validar entonces acá 10 puntos valor.
Bien, entonces, qué pasa si no es válido?
Si falló, por ejemplo, bueno, tenemos que asignar los mensajes de error.
Disputo error punto ADD.
Y qué mensaje?
Bueno, el mensaje de error por defecto del Valledor.
Recuerden, cada validador tiene su propio mensaje de error.
Entonces el punto get mensaje.
Se fijan, entonces es válido.
Recuerden que cada validador acá tenemos la clase abstracta.
Tienen método abstracto.
Es válido?
Y el método abstracto guet mensaje y cada uno lo implementa.
Por ejemplo, como vimos el último.
O cualquiera da lo mismo.
Y Mel Validador implementa el mensaje.
Acá tiene el gillet mensaje y el método es válido.
Que recibe un string.
El valor y lo valida con su implementación.
El largo también lo valida con su propia implementación.
El valor.
Y es justamente lo que estamos haciendo acá en ejemplo.
En el elemento form acá.
Recorremos cada validador de la lista y validamos invocando el método es válido y le pasamos el valor
del campo.
Si no se cumple, si no es válido, por lo tanto es inválido.
Pasamos o guardamos el mensaje de error del validador y listo.
Ahora retornamos Truffaut dependiendo si herrores tiene contenido, es decir, si ocurrieron errores
o se agregaron mensajes de error a esta lista.
Entonces retornamos acá fols.
No es válido, pero también muy simple.
Punto.
Errores.
Esta lista de mensaje de error.
Preguntamos si está vacía.
Entonces está vacía.
Va a retornar Thru, es decir, no tiene errores porque está vacía.
No se agregó ningún error en la lista en errores.
Pero si no está vacía, va a retornar fols.
Entonces va a ser inválido la validación del campo.
Aunque tenemos dos forma de validar is empty sería una forma y otra forma.
Por acá tenemos 6.
Entonces, si la canti elementos es igual a cero, también es true.
Esto, lo mismo que siempre se la cantidad de elementos o el tamaño es igual a cero.
Es porque si no tiene elementos, entonces a no tener elementos no tiene mensaje de error.
Por lo tanto es válido y listo.
Ahí lo tenemos implementado.
Yo no sé que está molesto, entonces la siguiente clase vamos a ir a ejemplos por acá.
Vamos a crear instancias de los goleadores y lo vamos a agregar con el método ad validador a cada campo,
entonces cada campo va a tener su propio boleadoras para Halloween, para el pago, para el email,
la edad.
En fin, y pudiera tener un validador o más de un valor.
Cada campo puede agrupar valedores.
Bien.
Nada más.
Continuamos en la siguiente clase.