16

Userというエンティティがあり、携帯電話番号フィールドを検証したい

携帯電話番号フィールドは必須ではありません。空白のままにすることができますが、10桁の番号にする必要があります。

ユーザーが10桁未満の値を入力すると、エラーがスローされます。

以下は私のUserクラスです。

public class User {

    @Size(min=0,max=10)
    private String mobileNo;

}

上記のように@Sizedアノテーションを使用すると、10より大きい値を検証できましたが、ユーザーが10桁未満を入力しても、エラーは発生しませんでした。

私の要件は、ユーザーが有効なmobileNoフィールドを空白のままにしたが、値が入力された場合、検証では、入力された数値が10桁と10桁のみであることを確認する必要があります。

この要件に使用する必要がある注釈はどれですか?

4

6 に答える 6

34

@Size(min=10,max=10)空白がnullを意味する場合、仕事をします。

@NotNullアノテーションを付けない場合、null値はバリデーションを通過します。

@Pattern空白が空の文字列を意味する場合は、バリデーターを使用する必要があります。

@Pattern(regexp="(^$|[0-9]{10})")

これは、空の文字列または 10 桁の数字のいずれかに一致します。

于 2012-05-19T22:11:04.593 に答える
5

電話番号を検証するために、Google Codeのlibphonenumberを使用して、提案された応答を改善できるかもしれません。

于 2013-05-22T08:30:53.780 に答える