国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

后端表情包依賴+自定義注解實現校驗

這篇具有很好參考價值的文章主要介紹了后端表情包依賴+自定義注解實現校驗。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

開發(fā)過程中遇到小程序登記信息填寫文本時可能輸入表情包,需要后端校驗

由于字段太多,所以用自定義注解的方式來實現

步驟1:在pom文件中加入表情包依賴

        <dependency>
            <groupId>com.vdurmont</groupId>
            <artifactId>emoji-java</artifactId>
            <version>5.1.1</version>
        </dependency>

步驟2:

自定義注解類

package com.company.web.compatibility.annotation;

import cn.hutool.extra.emoji.EmojiUtil;
import com.itextpdf.text.log.SysoCounter;
import com.xiaoleilu.hutool.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;

import javax.validation.Constraint;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import javax.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.ElementType.TYPE_USE;

/**
 * <p>
 * 表情包自定義校驗注解
 * </p>
 * @date 2023/7/12/
 */
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = NotBlankEmoji.EmojiValidator.class)
@Documented
public @interface NotBlankEmoji {
    String message()
            default "不允許輸入表情符號";

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

    Class<? extends Payload>[] payload() default {};
    class EmojiValidator implements ConstraintValidator<NotBlankEmoji, String> {

        @Override
        public void initialize(NotBlankEmoji constraintAnnotation) {

        }

        @Override
        public boolean isValid(String value, ConstraintValidatorContext context) {
            return !containsEmoji(value);
        }

        public boolean containsEmoji(String value)
        {
            if (StrUtil.isBlank(value)) {
                return false;
            }
            boolean emoji = EmojiUtil.containsEmoji(value);
            return emoji;
        }
    }


}

步驟3:

在請求的實體使用這個注解,需要要在controller中加入@Validated注解,校驗才會生效文章來源地址http://www.zghlxwxcb.cn/news/detail-572326.html

@ApiModel("Hr結構人員教育經歷")
@Data
public class HrWorkExperienceDto {
    @ApiModelProperty("證明人")
    @NotBlank(message = "證明人不能為空" )
    @Length(max=44, message = "證明人超過了44個字符" )
    @Xss( message = "證明人不能輸入html特殊字符" )
    @NotBlankEmoji( message = "證明人不允許輸入表情符號" )
    private String certifier;

}

到了這里,關于后端表情包依賴+自定義注解實現校驗的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Spring Boot 中自定義數據校驗注解

    Spring Boot 中自定義數據校驗注解

    在 Spring Boot 中,我們可以使用 JSR-303 數據校驗規(guī)范來校驗表單數據的合法性。JSR-303 提供了一些常用的數據校驗注解,例如 @NotNull 、 @NotBlank 、 @Size 等。但是,在實際開發(fā)中,我們可能需要自定義數據校驗注解來滿足特定的需求。本文將介紹如何在 Spring Boot 中自定義數據校

    2024年02月10日
    瀏覽(17)
  • spring-boot 請求參數校驗:注解 @Validated 的使用、手動校驗、自定義校驗

    spring-boot中可以用@validated來校驗數據,如果數據異常則會統一拋出異常,方便異常中心統一處理。 spring-boot已經引入了基礎包,所以直接使用就可以。 在屬性上添加校驗注解: 在Controller上添加 @Validated 注解 校驗未通過時,可能看到: 在 @Validated 后面緊跟著追加BindingResult,

    2023年04月16日
    瀏覽(33)
  • Controller層自定義注解攔截request請求校驗

    Controller層自定義注解攔截request請求校驗

    一、背景 筆者工作中遇到一個需求,需要開發(fā)一個注解,放在controller層的類或者方法上,用以校驗請求參數中(不管是url還是body體內,都要檢查,有token參數,且符合校驗規(guī)則就放行)是否傳了一個token的參數,并且token符合一定的生成規(guī)則,符合就不予攔截,放行請求,否則

    2024年01月17日
    瀏覽(28)
  • Springboot——@valid 做字段校驗和自定義注解

    Springboot——@valid 做字段校驗和自定義注解

    再項目開發(fā)中,針對前端傳遞的參數信息,有些接口中需要寫大量的 if 判斷,導致代碼臃腫,不夠優(yōu)雅。 此時,可以使用 @Valid 實現基本的字段校驗。 springboot 2.3之前 ,直接進行開發(fā)即可,無需引用額外的依賴 集成在 spring-boot-starter-web 中。 springboot 2.3之后 需要額外引入

    2023年04月26日
    瀏覽(21)
  • Java實現自定義注解

    Java實現自定義注解

    (1)Java實現自定義注解其實很簡單,跟類定義差不多,只是屬性的定義可能跟我們平時定義的屬性略有不同,這里會給大家詳解,先來看代碼: 上面代碼就實現了一個 自定義注解 , 實現自定義注解需要最少指定 兩個 基本條件 : ①注解的作用范圍②注解的生命周期 ,那

    2023年04月19日
    瀏覽(23)
  • Java注解源碼分析,實現自定義注解通過反射獲取

    JDK5.0 引入,可以通過反射機制動態(tài)獲取,大量應用于java框架中 內置注解 @Override 重寫父類方法時 @Deprecated 使用它存在風險,可能導致錯誤 可能在未來版本中不兼容 可能在未來版本中刪除 一個更好和更高效的方案已經取代它 @SuppressWarnings 告訴編譯器忽略指定的警告,不用在

    2024年02月03日
    瀏覽(21)
  • Java 4種校驗注解(值校驗、范圍校驗、長度校驗、格式校驗)

    1 值校驗 1.1 @NotNull注解 被注解的元素必須不為空,一般 用于數值類型的參數校驗 @NotNull(message = \\\"用戶編號不能為空\\\") private Integer userId; 1.2 @NotBlank注解 驗證注解的元素值不為空(不為null、去除首位空格后長度為0),并且類型為String。 @NotBlank(message = \\\"用戶名稱不能為空\\\") pr

    2024年02月16日
    瀏覽(22)
  • springboot使用@Valid 和 @Validated 注解校驗詳解以及編寫一個自定義全局異常類

    springboot使用@Valid 和 @Validated 注解校驗詳解以及編寫一個自定義全局異常類

    全局異常處理類 驗證: ============================================== 導入所需要的包: 如果你是 springboot 項目,那么可以不用引入了,已經引入了,他就存在于最核心的 web 開發(fā)包里面。 如果你不是 springboot 項目,那么引入下面依賴即可: 新建三個實體類 實現一: 使用@Valid注解修

    2024年02月10日
    瀏覽(30)
  • 【Java】在實體類中常用的注解校驗

    【Java】在實體類中常用的注解校驗

    注解 說明 @Null 只能為null @NotNull(message = “id不能為空”) 必須不為null,可以為空字符串 @Min(value) 必須為一個不小于指定值的數字 @Max(value) 必須為一個不大于指定值的數字 @NotBlank(message = “姓名不能為空”) 驗證注解的元素值不為空(不為null、去除首位空格后長度為0),不同

    2024年02月04日
    瀏覽(23)
  • @NotNull @NotEmpty @NotBlank java校驗注解 validation

    1.@NotNull 不能為 null,但可以為 empty,一般用于判空 Integer 類型等基本數據類型,而且被其標注的字段可以使用 @size、@Max、@Min 對數值進行大小的控制 2.@NotEmpty 不能為 null,且長度必須大于 0,一般用于集合類或者數組上,也有人用于String(不推薦) 3.@NotBlank 只能作用在接收的

    2024年02月10日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包