0

疑問に思っていたのですが、何かを見落としているのでしょうか、それとも休止状態のバリデーターが2つのフィールドが等しいことを確認するための注釈(パスワードなど)を提供していないのでしょうか。独自のバリデーターを作成できることはわかっていますが、これは標準機能のようです。

4

4 に答える 4

4

Spring Frameworkを使用している場合は、Spring Expression Language(SpEL)を使用できます。クロスフィールド検証を非常に簡単にするSpELに基づくJSR-303バリデーターを提供する小さなライブラリを作成しました。https://github.com/jirutka/validator-springをご覧ください。

これにより、パスワードフィールドの少なくとも1つが空でない場合に、パスワードフィールドが等しいかどうかが検証されます。

@SpELAssert(value = "password.equals(passwordVerify)",
            applyIf = "password || passwordVerify",
            message = "{validator.passwords_not_same}")
public class User {

    private String password;
    private String passwordVerify;
}
于 2013-03-28T00:36:48.467 に答える
0

カスタムバリデータールートに行きました。ここにある他の2つの回答は、実際には質問とは関係ありません。少しグーグルで、フィールドマッチの例を見つけました。

于 2010-12-13T07:17:20.287 に答える
-1

HibernateはORMマッパーです。

これは、データをDBに永続化し、再度抽出するために使用されます。そのため、同じ値を持つ2つのフィールドを持つことは、あまり意味がありません(永続性の観点から)。これは、ビジネスロジックで確認する必要があるものです。

そして私はJuneshと一緒です...パスワードを取得可能な形式で保持しないでください...HasingとSaltingを調べてください-またはさらに良いことに、openIDについて考えて、クライアントをさらに別の愚かなパスワードで煩わせる必要がないようにしてください...

于 2010-12-10T08:23:31.563 に答える
-2

確認パスワードもデータベースに保存していないことを願っています。このためのすぐに使用できる検証はありませんが、代わりにカスタムアノテーションを使用する必要があります。これも非常に簡単です。

于 2010-12-10T08:15:46.233 に答える