2

@Pattern入力を検証するための注釈を試しています

    @Pattern(regexp="[A-Za-z0-9_.]*", message="Name can only contain alphanumeric characters and underscores and dots")
    public String getName() {
        return name;
    }

また、渡さmessageれた実際の値をエラーに含めたいと思います。nameアノテーション呼び出しでどのようにアクセスできますか? たとえば、次のようなものが必要です。

    @Pattern(regexp="[A-Za-z0-9_.]*", message="Name can only contain alphanumeric characters and underscores and dots. Provided name: " + name + " is not valid")

これを試してみたところ、エラーが発生しましたThe value for annotation attribute Pattern.message must be a constant expression。注釈定義 (具体的にはエラー メッセージ) 内で実際の変数値を取得する方法はありますか? 実際に提供された値を表示することで、エラー メッセージをよりわかりやすくしたいと考えています。

4

1 に答える 1

0

@Pattern によって生成されるデフォルトのエラー メッセージをオーバーライドするには、おそらくカスタム制約が必要になるでしょう。関連するドキュメントはこちらで確認してください。

于 2013-02-25T09:42:58.650 に答える