1

MyFaces 1.1 ValidateRegExpr タグを使用して、正規表現に対してユーザーからの入力を検証しています。

コードを介して正規表現パターンを動的に割り当てられるようにしたいのですが、http://myfaces.apache.org/commons11/myfaces-validators11/tagdoc/mcv_validateRegExpr.htmlによると、属性パターンは Expression Language をサポートしていません。

JSP ファイルのマークアップは次のようになります。

<tc:in value="${dataBean.currentBean.field}">
        <mcv:validateRegExpr
            pattern="${dataBean.currentBean.validationRegEx}"
            message="${dataBean.currentBean.validationMessage" />
</tc:in>

ELをサポートしていないjspコントロールに属性値を動的に割り当てる好ましい方法は何ですか?

4

1 に答える 1

1

を実装し、 のjavax.faces.validator.Validatorように登録<validator>faces-config.xmlます。実際のJavaクラスでは、通常のJavaコードを自由に書くことができます:)

基本的なキックオフの例:

public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
    SomeBean someBean = SomeFacesUtil.evaluateExpressionGet("someBean", SomeBean.class);
    if (!value.toString().matches(someBean.getPattern())) {
        throw new ValidatorException(new FacesMessage(someBean.getMessage()));
    }
}
于 2009-12-10T13:49:35.383 に答える