0
クリックされたボタンに応じていくつかの検証を行う必要がありますが、そのボタンを検証メソッド内でBean内に取得する方法が見つかりません。私がボタンを得ることができれば、おそらく内部の定義された属性と比較することができます。だから、これは私が得るものです:Bean検証メソッドでlaucherボタンを取得する方法
<af:button id="btnSearch">
<f:attribute name="action" value="search"/>
</af:button>
<af:inputText id="itSearch" validator="#{pageFlowScope.mbCustom.customValidation}">
</af:inputText>
Beanでは:
public void customValidation(FacesContext facesContext, UIComponent uIComponent, Object object) {
UIComponent button = //button that trigger the validation
String validationError = "";
if("search".equals(button.getAttributes().get("action")){
validationError ="Validation Button1";
}else if("other".equals(button.getAttributes().get("action")){
validationError ="Validation Button2";
}
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
validationError,
null));
}
任意の助けが理解されるであろう。
ありがとう、私はそれをチェックするつもりです。私がしようとしているのは、ページ内のすべてのバリデーションに対してコンポーネントバリデーターを使用することです。アクションをトリガーするボタンをメソッド内で知ることが唯一の方法です。なぜなら、クリックした人によってバリデーションが異なるからです。 – abdiel