Bien, continuamos con la clase validador para el largo.
Para poder saber si un campo, el valor de un campo está entre tanto y tanto caracteres, entonces vamos
a crear una clase.
Largo validador.
Bien, vamos a heredar stents de validar y como siempre, implementamos los métodos abstractos acá en
implementar métodos sobre el error o también con click derecho.
Ok, bien.
Y el atributo mensaje protected
Bien.
Pero el mensaje va a ser distinto dependiendo del mínimo y el máximo, porque también vamos a tener
atributos para el mínimo y para máximo caracteres.
Entonces podremos ir qué campo debe tener como mínimo tantos caracteres y como máximo tantos caracteres.
Acá colocamos un porcentaje de que después se reemplaza con el valor.
Esto solamente su nombre, parámetro que después se reemplaza con el mínimo, con el mío.
Entonces el campo de tener mínimo, por ejemplo 5 caracteres y máximo lo mismo porcentaje de de dígito
caracteres.
Entonces después utilizando el try, informad vamos a cambiar esto, que son como nombre, parámetro
o un patrón.
Lo cambiamos por el valor y acá vamos a tener los atributos private para el mínimo y el máximo del tipo
Integer.
Entonces como mínimo por defecto va a ser cero.
Pero recuerden cuando Primitivo el cero se omite, porque por defecto el valor de un primitivo integer
si no se define es cero private y el máximo podríamos colocar el máximo que soporta un integer integer.
Punto Max valio la constante max valio que tenemos entonces por defecto cero y por defecto en máximo
el máximo que soporta los.
Entero.
Bien, acá asignamos el mensaje
y acá lo retornamos.
Te faltaría asignar el mínimo y el máximo bi constructor.
Generate constructor y pasamos el mínimo y el máximo, ok.
Pero qué pasa si queremos validar solamente por el mínimo, es decir, que el valor del campo tenga
al menos 5 caracteres.
Pero el máximo da lo mismo, podría tener cualquier valor, cualquiera ante caracteres, pero como mínimo
5 o bien al revés, que solamente sea con máximo 12 caracteres.
Y el mínimo da lo mismo, puede ser cero, puede ser uno, dos.
Da lo mismo, pero máximo 12.
Entonces, bueno, ahí en vez de utilizar este constructor, podrían utilizar métodos ceto para el mínimo
y para el máximo de Bingen y tener un constructor por defecto vacío.
Es decir, que no asigne ni mínimo ni máximo mínimo el máximo.
Los tenemos Z.
Entonces por acá generate constructor.
Nada vacío.
Y acá abajo IEC Generate o los setter, solamente los setter.
Entonces para los dos mínimo y máximo.
Entonces de esa forma lo creamos con el new sin argumento y pasamos el mínimo o el máximo Biscet.
Y para los dos usamos este constructor.
Se fijan, claro, y cuando pasamos los dos es por rango.
Es decir, que el largo del valor esté entre 5, por ejemplo, y 12 caracteres.
Un ranco.
Bien, ahora tenemos que variar, pero antes de validar el mensaje varía.
Se fijan dependiendo del mínimo y el máximo.
Entonces la idea ahora es pasar el mínimo y el máximo acá.
Entonces, punto mensaje es igual string formato.
Acá tenemos el método format de la clase String.
Vamos a pasar el contenido del mensaje Koma y los valores.
Recuerden, el primer valor lo tenemos como el mínimo mínimo y el segundo máximo.
Entonces separa por coma.
Punto mínimo de punto máximo el segundo.
Entonces, de esa forma, aquel mensaje más personalizado dependiendo del valor mínimo y máximo, entonces
bueno, acá tiene dos nombres de parámetros que se reemplazan o dos patrones que son del tipo digito.
Por eso colocamos B.
También podríamos utilizar s.
S significa string o cualquier tipo de dato Henny.
Significa como Henny da lo mismo si es enteros y string da lo mismo, pero mejor digito, ya que son
enteros.
Entonces, básicamente este string es una plantilla.
No es cierta una plantilla y acá se van a reemplazar valores.
Es como una extrapolación de String.
Va extrapolar estos dos parámetros por los valores mínimo y máximo.
Y eso lo hacemos con él.
Informal.
Acá pasamos el mensaje que contiene la plantilla con los parámetros y los valores separados por coma
en orden, ya que primero va el mínimo acá y después va al máximo.
Entonces tiene que ir en orden y eso es todo.
Ahora tenemos que validar.
Bueno, me interesa validar solamente el rango.
Es cierto que el link del valor este entre tanto y tanto caracteri, pero no me interesa validar si
el valor es NULL.
Por ejemplo, entonces if valor.
Si llega a ser null, vamos a retornar true.
Es decir, que válido ya, porque en realidad no quiero validar por eso.
Para eso tenemos el otro valor que es no nulo validar.
Hay valíamos que si el nulo o no nulo, acá simplemente valíamos si el nulo retorna mostruo y así evitar
en un puente deception.
Porque vamos a invocar el método Lenka.
Entonces por acá int largo el link igual valor.
Punto Lenka.
Se fijan?
Entonces acá valíamos por el largo.
Entonces es válido.
Es decir, va a retornar true si se cumple la siguiente condición que el largo sea mayor o igual al
mínimo, pero también si el largo es menor o igual al máximo, se fijan.
Y esto en paréntesis, ya que es una expresión booleana.
Entonces que largo sea mayor o igual al mínimo y largo, menor o igual al máximo.
En ese rango, si se cumple, se true está perfecto.
Iba a mostrar el mensaje personalizado.
De esa forma se fijan un valor super simple que también se utiliza mucho en diferentes framework.
Por ejemplo en Spring en internet para validar mediante anotaciones el API de Java validación o beans
validación.
También usando anotaciones todo más o menos implementan este algoritmo con un mínimo y un máximo.
Muy simple.
Bien.
Después lo vamos a probar.
Así que no se preocupen, ya estamos listo.
En la siguiente clase vamos a continuar con Y Maybe Validador.
Nos vemos.