簡體   English   中英

Spring驗證-NULL或有效URL

[英]Spring Validation - NULL or valid url

在我的Spring Boot應用程序中,我有以下方法:

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

現在,直接在代碼中,我正在檢查以下情況:

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

換句話說, url參數可以為null或有效的url。

是否可以用現有的驗證注釋(例如JSR-303)替換此代碼?

Bean驗證規范不包含url約束,但是一些實現者將該約束作為擴展名添加,例如Hibernate Validator的@URL,但請記住使用擴展名會損害可移植性,以避免您可以基於正則表達式創建自己的驗證器。 對於其他部分,您可以將@NotBlank用於url字符串空控件(用於名稱字符串),好像您在@ NotNull,@ NotBlank和NotEmpty約束之間感到困惑。

看看這個答案: https : //stackoverflow.com/a/17137308/5964741

但是無論您選擇擴展名還是創建自己的驗證器,URL字符串的空控件都是多余的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM