2017-07-14 11 views
0

私は、name,description,meta_title,,meta_descriptionのようなデータを含むフォームを持っています。エンティティクラスで 、私はこの検証を追加しました:エンティティフィールドの条件は必須ではありません

@NotBlank(message = "{name.notblank}") 
@Size(min = 2, max = 250, message = "{name.size}") 
@Column(name = "pgs_name") 
private String name; 

@NotBlank(message = "{description.notblank}") 
@Size(min = 10, message = "{description.size}") 
@Column(name = "pgs_description") 
private String description; 

@Nullable 
@Size(min = 2, max = 250, message = "{meta_title.size}") 
@Column(name = "pgs_meta_title") 
private String meta_title; 

@Nullable 
@Size(min = 2, max = 250, message = "{meta_keywords.size}") 
@Column(name = "pgs_meta_keywords") 
private String meta_keywords; 

@Nullable 
@Size(min = 2, max = 250, message = "{meta_description.size}") 
@Column(name = "pgs_meta_description") 
private String meta_description; 

私が欲しいもの、例えば、フィールドmeta_titleが条件かどうかを確認するために、その後、完成され、場合:何も完成されていない場合@Size(min = 2, max = 250, message = "{meta_title.size}")は、他に尊敬され、その後、 、問題はありません。データベースのフィールドは空になります。

問題は、休止状態が@Nullableを気にせず、@Size注釈でフィールドを自動的に検証することです。

私の問題にはどんなアノテーションを使用できますか? ありがとう!

答えて

0

カスタム検証アノテーションとConstraintValidatorを実装するクラスを記述することができます。 isValidメソッドをオーバーライドすると、カスタムロジックをカスタム注釈に追加できます。例えば、thisの例を見てください。

関連する問題