- 

Available since OmniFaces 1.2

The <o:validateOne> validates if ONLY ONE of the given UIInput components have been filled out.

The default message is

{0}: Please fill out only one of those fields

For general usage instructions, refer ValidateMultipleFields documentation.

Demo

Please fill out only one of those fields

Demo source code
<h:form>
    <h3>Please fill out only one of those fields</h3>
    <o:validateOne id="one" components="foo bar baz" />

    <h:panelGrid columns="3">
        <o:outputLabel for="foo" value="Foo" />
        <h:inputText id="foo" />
        <h:message for="foo" />

        <o:outputLabel for="bar" value="Bar" />
        <h:inputText id="bar" />
        <h:message for="bar" />

        <o:outputLabel for="baz" value="Baz" />
        <h:inputText id="baz" />
        <h:message for="baz" />

        <h:panelGroup />
        <h:commandButton value="submit">
            <f:ajax execute="@form" render="@form" />
        </h:commandButton>
        <h:panelGroup>
            <h:message for="one" />
            <h:outputText value="OK!" rendered="#{facesContext.postback and not facesContext.validationFailed}" />
        </h:panelGroup>
    </h:panelGrid>
</h:form>