[OmniFaces utilities] The
validateHasDirectParent()
method validates if the given component has a direct parent of the given parent type.Method:
You can use
this method in a custom validator. Per example, let's have this JSF snippet:
<h:form
id="formId">
<h:panelGrid style="background-color:
green;">
<h:inputText id="nameId"
value="#{playersBean.name}" validator="myValidator"/>
</h:panelGrid>
<h:commandButton id="btnId"
value="Save" action="#{playersBean.save()}"/>
</h:form>
Now, in MyValidator
we can perform the following validations:
...
@Override
public void
validate(FacesContext fc, UIComponent uic, Object o) throws ValidatorException
{
// validate if the given component has a
direct parent of type HtmlPanelGrid
Components.validateHasDirectParent(uic,
HtmlPanelGrid.class);
// validate if the given component has a
direct parent of type UIForm
Components.validateHasDirectParent(uic,
UIForm.class);
}
...
The first
check will be a success, while the validation will fail at second check, since
the uic
component (aka UIInput)
doesn't have a direct parent of type UIForm. So, you will get an exception
like below:
Niciun comentariu :
Trimiteți un comentariu