2017-02-04 15 views
2

私は次の方法がありますでは春の検証 - NULLまたは有効なURLの私の春のブートアプリケーションで

if (!org.apache.commons.lang3.StringUtils.isEmpty(url) && !urlValidator.isValid(url)) { 
    throw new IllegalArgumentException("Decision url is not valid"); 
} 

:直接コードで、私は次の条件をチェックしてる今

Decision create(@NotBlank String name, String url, @NotNull User author); 

を他の単語 - urlパラメータはnullまたは有効なURLにすることができます。

このコードを既存の検証アノテーション(JSR-303など)で置き換えることはできますか?

+1

['org.hibernate.validator.constraints.URL'](https://docs.jboss.org/hibernate/validator/5.2/api/org/hibernate/validator/constraints/URL.html)注釈を使用してください。 。携帯性はそれほど大きなものではありません –

答えて

1

Bean検証仕様にはurlの制約は含まれていませんが、実装者の中には、その制約をHibernate Validatorの@URLのような拡張として追加しますが、正規表現に基づいて独自のバリデータを作成できないように、 。他の部分については、@NotNull、@NotBlank、NotEmptyの間に混乱があるように見える、名前文字列のために使用したURL文字列の空のコントロールのために@NotBlankを使用することができます。あなたは拡張子を選択するか、冗長化されるURL文字列のための独自のバリ空のコントロールを作成する場合https://stackoverflow.com/a/17137308/5964741

しかし、どんなに:

はそのため、この答えを見てみましょう。

関連する問題