自定義字段驗證

1.定義@interface

package com.jwt.jwt.inter;

import javax.validation.Constraint;
import javax.validation.Payload;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

@Target( FIELD )
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = { NameValidationMethod.class})
public @interface NameValidation {

    String message() default "{javax.validation.name.validation.message.not.null}";

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

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

  1. 具體驗證類
package com.jwt.jwt.inter;

import org.apache.commons.lang3.StringUtils;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

public class NameValidationMethod implements ConstraintValidator<NameValidation,String> {
    @Override
    public void initialize(NameValidation constraintAnnotation) {

    }

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        if(StringUtils.isBlank(value)){
            return false;
        }
        return true;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章