3

私はint属性で検証を使用しています:

@Digits(integer=6,fraction=0)
private Integer idOrder;

しかし、私はこの属性が正確に6桁であることを望みました。

どうやってやるの?(JSP + Spring + Hibernateを使用)

4

2 に答える 2

7

6桁が必要なので、プロパティには文字列を使用する必要があると思います。状況によってはintとして必要な場合は、

 public int getIdOrder(){ return Integer.parseInt(idOrder);}

文字列では、パターン検証を使用できます。これは次のようになります。

@Pattern(regexp="\\d{6}")
private String idOrder;

もう1つのオプションは、idOrderをintのままにして、文字列のゲッターを作成することです。

public String getIdOrgetAsString(){
    String s = "000000" + idOrder;
    return s.substring(s.length() - 6);
}

とにかく、いくつかのオプションがあります。

于 2013-03-26T21:25:08.893 に答える
2

検証がまったく機能することを確認しますか?

Hibernateのドキュメントには次のように書かれています。

プロパティが最大整数桁と小数桁の数値であるかどうかを確認します。1

正確に6桁とはどういう意味ですか?先行ゼロはサポートされていますか?または、番号は100.000から999.999の間である必要があります。最初のケースでは、番号は文字列(@Lengthを含む)である必要があり、2番目のケースでは、@Minと@Maxを使用する必要があると思います。

于 2013-03-26T20:27:37.370 に答える