Detall dels tags - fieldValidator

Ofereix una forma alternativa per especificar les validacions a realitzar en un camp de texte.

La documentació auto-generada del tag és a http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_2/tlddoc/fwk/fieldValidator.html



La funcionalitat d'aquest tag és definir el posicionament i controlar la visualització del texte d'error.

La validació en sí està definida en el propi camp a validar (per exemple un fwk:text) i el texte a presentar és una composicio del texte associat al tipus de validació (per exemple required)amb el texte definit en la validació.

Atributs heredats

cap.

Atributs específics de Canigó

Els atributs son pràcticament idèntics al subconjunt d'atributs del tag fwk:text que serveixen per configurar les validacions.

Atribut Funció
dependentFields Camps dependents
errorClass Classe CSS que defineix l'estil del textField si es produeix un error
errorKey Clau del texte d'error en els arxius i18n
iconStyleId Identificador de la icona
indicator Div a mostrar quan es fa petició AJAX
source Identificador del camp de texte al que s'assòcien les validacions
sourceErrorTooltip Pot ser ICON, TEXT
styleId Identificador del tag, per associarlo amb la configuració Spring
textErrorStyleId Div amb el text d'error
validationFieldMessageMode Tipus de validació que volem mostrar quan salta la validació. Valors possibles: ICON, TOOLTIP, CHANGESTYLE, TEXTERROR
validationMessageFunction Funció de presentació
validations Validacions pel camp

Exemple

A continuació es presenta un fragment de pàgina que utilitza el tag fwk:fieldValidator. El tag en sí no és visible, ja que actua com lligam entre el camp de texte i els tags de presentació dels errors de validació.

Pàgina JSP

<%@ include file="/WEB-INF/jsp/includes/fwkTagLibs.jsp" %>

<fwk:form action="provesTagsLayout.do"
          styleId="myActionForm"
          key="jsp.provesTags.ProvesTagsSimple.form"
          reqCode="show"
          layout="false"
          method="post">

    <fwk:gridBagLayout gridStyleId="grid"
                       size="2,5"
                       gridStyle="border:1px solid green"
                       style="0:0=color:red;background-color:yellow,*:2=color:blue;background-color:yellow">

        (...)

        <fwk:label styleId="nameLabel"
                   key="jsp.provesTags.ProvesTagsSimple.lbl3"
                   id="camp1"
                   styleClass="label"/>

        <fwk:text key="jsp.provesTags.ProvesTagsSimple.camp9"
                  styleId="camp9"
                  mode="E,E,E"
                  layout="false"
                  styleClass="fieldText"
                  maxlength="10"
                  size="10"
                  property="camp9"/>

        <fwk:fieldValidator source="camp9"
                            validations="ONCHANGE(required"
                            styleId="val1"
                            validationFieldMessageMode="ICON,TEXTERROR"
                            errorClass="errorNew"
                            errorKey="jsp.provesTags.ProvesTagsSimple.lbl3"
                            iconStyleId="camp9IconError"
                            sourceErrorTooltip="TEXT"
                            textErrorStyleId="camp9TextError"
                            />

        <span>
            <fwk:textError styleId="camp9TextError"
                           styleClass="errorText" />
            <fwk:iconError styleId="camp9IconError"
                           style="display:none"
                           styleClass="iconError">
                <img src="<c:url value="/images/iconWarning.gif"/>"
                     id="imagen"
                     class="icon" />
            </fwk:iconError>
        </span>
    </fwk:gridBagLayout>
</fwk:form>
<br>&nbsp;<br>

Arxius d'internacionalització

Bugs

L'atribut validations s'ha de posar sense el parèntesi dret ')' degut a un bug en la generació del codi javascript de validació, que n'afegeix un de més.

<fwk:fieldValidator source="camp9"
                    validations="ONCHANGE(required"
                    styleId="val1"