blob: 76277a5cf41f02e13718167c0dbd05873e346fb5 [file] [log] [blame]
<!DOCTYPE html>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to you under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<html lang="en"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:hx="http://myfaces.apache.org/html5/html"
xmlns:fx="http://myfaces.apache.org/html5/core">
<h:body>
<ui:composition template="/_template.xhtml">
<ui:define name="pageName">
<h1>Pattern</h1>
</ui:define>
<ui:define name="content">
<script>
function handleValidationError(event,element){
alert('Second input is not in correct format!');
}
</script>
<p>
Notes:
<ul>
<li>Examples in this page work in Chrome and Opera.</li>
<li>Opera displays an error message on validation errors, where Chrome simply marks the invalid input.</li>
</ul>
</p>
<h:form id="myForm">
<h:panelGrid cols="2" >
<label>Simple pattern usage:</label>
<hx:inputText id="textIT" value="#{inputTextBean.someParam}" required="true" title="A part number is a digit followed by three uppercase letters.">
<f:validateRegex pattern="[0-9][A-Z]{3}" />
</hx:inputText>
<label>Support for standard validators:</label>
<hx:inputText id="anotherTextIT" value="#{inputTextBean.secondParam}" required="true" title="A prefix is must be minimum 3 characters, maximum 5 characters.">
<f:validateLength minimum="3" maximum="5" />
</hx:inputText>
<label>Support for custom validators:</label>
<hx:inputText id="someAnotherTextIT" value="#{inputTextBean.fourthParam}" required="true" title="A part number is a digit followed by three uppercase letters.">
<f:validator validatorId="partNumberValidator" />
</hx:inputText>
<h:outputText />
<h:commandButton action="none"/>
</h:panelGrid>
</h:form>
<h:form id="myOtherForm">
<h:panelGrid cols="2" >
<label>Custom validation error handling:</label>
<hx:inputText id="otherTextIT" value="#{inputTextBean.thirdParam}" oninvalid="handleValidationError(event, this);"
title="A part number is a digit followed by three uppercase letters.">
<f:validateRegex pattern="[0-9][A-Z]{3}" />
</hx:inputText>
<h:outputText />
<h:commandButton action="none"/>
</h:panelGrid>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>