¡La versión 2.0 de Play ya está lista! Ayúdanos a traducir la documentación de la útlima versión y sigue nuestro progreso.

Manuales, tutoriales & referencias

Consulte

Contenidos

Elija la versión

Buscar

Busque con google

Libros

Validaciones provistas por Play

Play trae incorporadas muchas funciones de validación, cada una es descrita en el cápitulo de validación.

Cada validación tiene asociado un mensaje de error definido en el archivo $PLAY_HOME/resources/messages, cuya clave es validation. seguido del nombre de la propiedad validada. Puede sobreescribir este mensaje usando la misma clave en el archivo conf/messages, además puede proveer localización para diferentes idiomas.

email

Comprueba que el valor es una dirección de correo electrónico válida.

validation.email(address);

Sintáxis de la anotación:

@Email String address

Clave del mensaje: validation.email

equals

Comprueba que el valor sea igual al valor de otro parámetro usando el método equals del valor anotado, por ejemplo para comprobar el campo de confirmación de una contraseña:

validation.equals(password, passwordConfirmation);

Sintáxis de la anotación:

@Equals("passwordConfirmation") String password

Llave del mensaje: validation.equals

future

Comprueba que el valor sea una fecha futura. Si una fecha es especificada como parámetro, entonces el valor debe ser una fecha posterior a la fecha pasada como parámetro:

validation.future(dueDate);
validation.future(dueDate, shipmentDate);

Sintáxis de la anotación:

@InFuture String dueDate
@InFuture("1979-12-31") String birthDate

Clave del mensaje: validation.future

ipv4Address

Comprueba que un valor sea una dirección IP acorde al protocolo de versión 4, los strings vacíos son considerados válidos

validation.ipv4Address(value);

Sintáxis de la anotación:

@IPv4Address String ip

Clave del mensaje: validation.ipv4

ipv6Address

Comprueba que un valor sea una dirección IP acorde al protocolo de versión 6, los strings vacíos son considerados válidos

validation.ipv6Address(value);

Sintáxis de la anotación:

@IPv6Address String ip

Clave del mensaje: validation.ipv6

isTrue

Comprueba que el valor sea de tipo String o Boolean y que al ser evaluado retorne true, por ejemplo para un checkbox que debe ser aceptado, o un Number diferente de cero. Los valores nulos son considerados falsos o inválidos.

validation.isTrue(agree);

Sintáxis de la anotación:

@IsTrue String agree

Clave del mensaje: validation.isTrue

match

Comprueba que el valor sea un string que cumpla con la expresión regular dada. Los strings vacíos son considerados válidos.

validation.match(abbreviation, "[A-Z]{3}"); // TLA

Sintáxis de la anotación:

@Match("[A-Z]{3}") String abbreviation

Llave del mensaje: validation.match

max

Comprueba que el valor sea de tipo String o Number y que no sea mayor al número dado. Valores nulos son considerados válidos.

validation.max(wordCount, 7500); // Short story

Sintáxis de la anotación:

@Max(7500) String wordCount

Llave del mensaje: validation.max

maxSize

Comprueba que el valor sea de tipo String y que su longitud no sea mayor a la especificada. Strings vacíos son considerados válidos.

validation.maxSize(url, 2083); // IE 4.0 - 8

Sintáxis de la anotación:

@MaxSize(2083) String value

Clave del mensaje: validation.maxSize

min

Comprueba que el valor sea de tipo String o Number y que no sea menor que número dado. Valores nulos son considerados válidos.

validation.min(age, 18); // Adult

Sintáxis de la anotación:

@Min(18) Long age

Clave del mensaje: validation.min

minSize

Comprueba que el valor sea de tipo String y que su longitud no sea menor a la especificada. Strings vacíos son considerados válidos.

validation.minSize(value, 42);

Sintáxis de la anotación:

@MinSize(42) String value

Llave del mensaje: validation.minSize

past

Comprueba que el valor sea una fecha pasada. Si una fecha es especificada como parámetro, entonces el valor debe ser una fecha anterior a la fecha dada como parámetro:

validation.past(actualDepartureDate);
validation.past(expectedDepartureDate, expectedArrivalDate);

Sintáxis de la anotación:

@InPast String actualDepartureDate
@InPast("1980-01-01") String birthDate

Llave del mensaje: validation.past

phone

Comprueba que el valor sea un número telefónico válido; strings vacíos son considerados válidos. La validación no es estricta y está diseñada para asegurar un patrón telefónico válido. Implemente su propio @Match para validaciones particulares de un país.

validation.phone(value);

Sintáxis de la anotación:

@Phone String phone

Clave del mensaje: validation.phone

Formato: +CCC (SSSSSS)9999999999xEEEE

  • + Clave opcional de acceso del país
  • CCC Clave opcional de acceso del país, hasta 3 dígitos, note que después debe haber un delimitador
  • (SSSSSS) Clave de sub-zona opcional, hasta 6 dígitos
  • 9999999999 Número obligatorio, hasta 20 dígitos (que deben cubrir todos los casos conocidos de ahora y del futuro)
  • x Extensión opcional, también puede ser escrita “ext” o "extension"
  • EEEE Número de extensión opcional, hasta 4 dígitos
  • Los delimitadores puede ser un espacio, -, . o / y pueden ser usados en cualquier lugar de la cadena.
Ejemplos:
  • usa:(305) 613 09 58 ext 101
  • france:+33 1 47 37 62 24 x3
  • germany:+49-4312 / 777 777
  • china:+86 (10)69445464
  • uk:(020) 1234 1234

range

Comprueba que el valor sea un número comprendido (de manera inclusiva) dentro del rango especificado por los dos números dados.

validation.range(wordCount, 17500, 40000); // Novella

Sintáxis de la anotación:

@Range(min = 17500, max = 40000) String wordCount

Llave del mensaje: validation.range

required

Comprueba que el valor sea de tipo String, Collection, File o un array y que no sea vacío.

validation.required(value);

Sintáxis de la anotación:

@Required String value

Clave del mensaje: validation.required

url

Comprueba que el valor sea un URL válido, los strings vacíos son consideraros válidos. Tenga en cuenta que no todos los URL’s válidos (como se definen en el RFC 1738) son aceptados; sólo los URL’s que comienzan con el esquema http, https o ftp son considerados válidos.

validation.url(value);

Sintáxis de la anotación:

@URL String address

Clave del mensaje: validation.url