1

ここで1つ手に入れました。1日かそこら考えていました。

私は通常のJava Beanを持っており、その上に合法的にnullまたは空になる可能性のあるStringプロパティがありますが、nullまたは空でない場合は、それが有効な浮動小数点数であることを検証するための正規表現があります.

このように注釈を配置しました

@Pattern(regexp = VALID_FLOAT, message = "Incorrect format")
private String elevation;

問題は、値が null または空の場合でも検証に失敗することです! 「不正な形式」で

誰でもここで助けてもらえますか?前もって感謝します

4

1 に答える 1

2

JSR-303 仕様の状態(16 ページ)

必須ではありませんが、null でない制約の検証からコアの制約の検証を分離することをお勧めします (たとえば、制約は null オブジェクトに対して true を返します。つまり、検証@Emailを処理しません)。@NotNull

したがって、@Pattern文字列の null 値に対して有効である必要があります。次に、VALID_FLOATパターンで空の文字列を処理するか、 like を明示的に指定する必要がありますEMPTY+"|"+VALID_FLOAT

ただし、null と空の String のあいまいさは良い習慣ではないと思います。1つに決める必要があります。

于 2013-07-30T10:39:58.383 に答える