Académique Documents
Professionnel Documents
Culture Documents
JSF proporciona mecanismos para el formateo, conversin y validacin de los componentes; veremos cmo estos mecanismos pueden ser extendidos de forma sencilla para adaptarlos a nuestras necesidades. Para entender en qu momento de la vida de una pgina JSF se producen las conversiones y validaciones de los componentes del formulario, quiz nos sea de ayuda el siguiente diagrama:
JSF proporciona dos mecanismos separados que nos ayudan a validar los valores introducidos por los usuarios a la hora de enviar los formularios:
El primer mecanismo es el de conversin y est definido por el interfaz javax.faces.convert.Converter y sus mltiples implementaciones. Las conversiones aseguran que el tipo de un dato introducido en un formulario JSF sea el correcto, es decir, que el dato tipo cadena del formulario corresponde con el tipo JAVA esperado, y que est especificado en la propiedad correspondiente del bean. Los Conversores (implementaciones de la interfaz Converter) son los componentes que se encargan de hacer estas transformaciones (cadena Tipo JAVA y viceversa). JSF invoca a los Conversores antes de efectuar las validaciones y por lo tanto antes de aplicar los valores introducidos a las propiedades del bean. En el caso de que un dato tipo cadena no se corresponda con el tipo JAVA apropiado, el Conversor correspondiente lanzar un ConversionException y el componente se marcar como invalidado.
El segundo mecanismo es el de validacin y est definido por la interfaz javax.faces.validator.Validator y sus mltiples implementaciones. El proceso de validacin se asegura que el dato introducido en el correspondiente componente es correcto segn la lgica de la aplicacin. El proceso de validacin ocurre antes de que el framework asigne los valores introducidos en el formulario a las propiedades del bean y justo despus de que se hayan aplicado las conversiones, en el caso de que haya. Las validaciones aseguran que un dato introducido en un formulario JSF tenga un valor correcto.
JSF deja a nuestra disposicin los siguientes conversores estndar: TIPO DE CONVERSOR BigDecimalConverter BigIntegerConverter NumberConverter IntegerConverter ShortConverter ByteConverter CharacterConverter FloatConverter DoubleConverter BooleanConverter DateTimeConverter IDENTIFICADOR DEL CONVERSOR BigDecimal BigInteger Number Integer Short Byte Character Float Double Boolean DateTime
Incluyendo <f:convertNumber [lista_atributos]/> o <f:convertDateTime [lista_atributos]/> dentro de la invocacin al componente, como por ejemplo:
O por ejemplo
<h:inputText id=invoiceDate value=#{bean.propiedad}> <f:convertDateTime pattern=M/d/yyyy/> </h:inputText>
Los atributos disponibles para tipos number son: NOMBRE DEL ATRIBUTO currencyCode currencySymbol groupingUsed integerOnly locale maxFractionDigits maxIntegerDigits minFractionDigits minIntegerDigits pattern type Y los disponibles para tipos DateTime: NOMBRE DEL ATRIBUTO dateStyle parseLocale pattern timeStyle timeZone type TIPO String String o Locale String String String o TimeZone String TIPO String String boolean boolean java.util.Locale int Int Int int String String
CLASE DE VALIDADOR
DoubleRangeValidator
TAG JSF
validateDoubleRange
ATRIBUTOS
minimum,maximum
DESCRIPCIN
Valida que el valor del componente sea mayor que un mnimo y mayor que un mximo. Este valor debe ser tipo float Valida que la longitud del valor del componente est entre un mnimo y un mximo Valida que el valor del componente sea mayor que un mnimo y mayor que un mximo. Este valor debe ser tipo entero
LengthValidator
validateLength
minimum,maximum
LongRangeValidator
validateLongRange
minimum,maximum