0

アプリケーションのフィールドの一意性を確認する必要があります。

Hibernate@Unique制約を使用しようとしましたが、スタックトレースが表示されますが、ユーザーフォームにエラーメッセージが表示されません。

次の解決策はカスタムバリデーターを作成することですが、もっと良い解決策があると思います。

JSFでこれを行う簡単な方法はありますか?

(JSF 2.1 + RichFaces)

4

3 に答える 3

0

ではないすべての値について、バッキング Bean で<f:ajax />oronblurイベントを使用し、検証することができます。textfieldmodelnull

<h:message id="errorMessageTag" for="fieldId"/>
<h:inputText id="fieldId" value="#{beanName.modelName.variableName}">
    <f:ajax event="blur" listener="#{beanName.property}" render="errorMessageTag" />
</h:inputText>
于 2013-02-07T12:33:02.177 に答える
0

Bean を ajax リクエストで手動で検証できます。手動検証の例を以下に示します。

ClassValidator<TestClass> classValidator = new ClassValidator<TestClass>(
              TestClass.class );

InvalidValue[] invalidValues = classValidator
        .getInvalidValues(testObject);

for (InvalidValue invalidValue : invalidValues) {
       System. out .println( "Property Name: "
               + invalidValue.getPropertyName() + " Message: "
               + invalidValue.getMessage());
}

<a4j:support />タグを使用して ajax リクエストをキャッチできます

于 2013-02-07T12:25:04.747 に答える