第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何驗證字符串集合和每個元素作為 URL?

如何驗證字符串集合和每個元素作為 URL?

MMTTMM 2022-11-02 15:14:02
我想驗證Collection<String>. 每個元素都是一個 URL,我在表單中作為字符串獲取。@Valid@URL@ElementCollection public Collection<String> getPictures() {           return this.pictures;   }public void setPictures(final Collection<String> pictures) {               this.pictures = pictures;     }我想知道 Spring 中是否有一些注釋可以讓我驗證這個集合中的所有字符串,比如 URL
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

沒有直接驗證該字段的注釋。自定義注釋的想法@URL是完全有效的,但您必須自己實現(xiàn)驗證 - 注釋只是“應(yīng)該發(fā)生的事情”的標記。

我建議你重命名@URL@URLCollection以避免與類沖突java.net.URL。從定義注釋開始。不要忘記注解@Constraint(查看其文檔以了解如何正確定義自定義驗證注解):

@Target({ElementType.METHOD, ElementType.FIELD})

@Retention(RetentionPolicy.RUNTIME)

@Constraint(validatedBy = UrlCollectionValidator.class)     // will be created below

public @interface URLCollection {

    String message() default "default error message";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

}

然后繼續(xù)執(zhí)行ConstraintValidator:


public class UrlCollectionValidator implements ConstraintValidator<URLCollection, Collection<String>> {


    @Override

    public void initialize(URLCollectionconstraint) { }


    @Override

    public boolean isValid(Collection<String> urls, ConstraintValidatorContext context) {

        return // the validation logics

    }

}

嗯,就是這樣。在 Spring 文檔中的配置自定義約束中閱讀有關(guān)此內(nèi)容的更多信息:


每個 bean 驗證約束由兩部分組成: *@Constraint聲明約束及其可配置屬性的注釋。* 實現(xiàn)javax.validation.ConstraintValidator約束行為的接口的實現(xiàn)。


查看完整回答
反對 回復 2022-11-02
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號