JARCH SHOWCASE
JARCH SHOWCASE
Client Side Validation - Basic Client Side Validation Framework implements JSF validation API within the browser.
  • Compatible with Server Side Implementation.
  • Conversion and Validation happens at client side.
  • Partial Processing support for Ajax.
  • I18n support along with component specific messages.
  • Client side Renderers for message components.
  • Easy to write custom client converters and validators.
  • Global or Component based enable/disable.
  • Little footprint using HTML5.
  • Advanced Bean Validation Integration.
Validate
<a:form>
    <a:panel header="Validate">
        <a:messages autoUpdate="true"/>

        <h:panelGrid id="grid" columns="4" cellpadding="5">
            <h:outputLabel for="name" value="Name:" style="font-weight:bold"/>					
            <a:inputText id="name" value="#{validationView.text}" required="true" label="Name"/>
            <a:message for="name" />
            <h:outputText value="#{validationView.text}" />

            <h:outputLabel for="number" value="Number:" style="font-weight:bold"/>					
            <a:inputText id="number" value="#{validationView.integer}" label="Number">
                <f:validateDoubleRange minimum="5" maximum="8" />
            </a:inputText>
            <a:message for="number" />
            <h:outputText value="#{validationView.integer}" />

            <h:outputLabel for="dd" value="Double:" style="font-weight:bold"/>					
            <a:inputText id="dd" value="#{validationView.doubleNumber}" converterMessage="Cannot convert to double.">
                <f:validateDoubleRange minimum="5.5" maximum="8.5" />
            </a:inputText>
            <a:message for="dd" />
            <h:outputText value="#{validationView.doubleNumber}" />

            <h:outputLabel for="money" value="Currency ($):" style="font-weight:bold"/>					
            <a:inputText id="money" value="#{validationView.money}" label="Currency">
                <f:convertNumber type="currency" currencySymbol="$"/>
            </a:inputText>
            <a:message for="money" />
            <h:outputText value="#{validationView.money}">
                <f:convertNumber  type="currency" currencySymbol="$" />
            </h:outputText>

            <h:outputLabel for="regex" value="Regex (^[a-zA-Z]+$):" style="font-weight:bold"/>					
            <a:inputText id="regex" value="#{validationView.regexText}" validatorMessage="Value does not match pattern.">
                <f:validateRegex pattern="^[a-zA-Z]+$" />
            </a:inputText>
            <a:message for="regex" />
            <h:outputText value="#{validationView.regexText}" />

            <h:outputLabel for="date" value="Date" style="font-weight:bold"/>					
            <a:inputText id="date" value="#{validationView.date}" label="Date">
                <f:convertDateTime pattern="MM/dd/yyyy" />
            </a:inputText>
            <a:message for="date" />
            <h:outputText value="#{validationView.date}">
                <f:convertDateTime pattern="MM/dd/yyyy" />
            </h:outputText>

            <h:outputLabel for="desc" value="Description" style="font-weight:bold"/>
            <a:inputTextarea id="desc" value="#{validationView.description}" required="true" label="Description">
                <f:validateLength minimum="3" maximum="10" /> 
            </a:inputTextarea>
            <a:message for="desc" />
            <h:outputText value="#{validationView.description}" />
        </h:panelGrid>

        <a:commandButton value="Non-Ajax" ajax="false" icon="ui-icon-check" validateClient="true" style="margin-right:10px"/>
        <a:commandButton value="Ajax" update="grid" icon="ui-icon-check" validateClient="true" style="margin-right:10px"/>
        <a:commandButton value="Partial" update="grid" process="name number" validateClient="true" icon="ui-icon-check" style="margin-right:10px"/>
        <a:commandButton value="Disabled" ajax="false" icon="ui-icon-check" />
    </a:panel>
</a:form>
                
JARCH, Copyright © 2022 All rights reserved. Running JARCH 24.3.0-SNAPSHOT on PrimeFaces-12.0.0 on Mojarra-2.3.13.