All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.shoulder.validate.validator.NoForbiddenCharValidator Maven / Gradle / Ivy

package org.shoulder.validate.validator;

import org.apache.commons.lang3.StringUtils;
import org.shoulder.validate.annotation.NoForbiddenChar;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 特殊字符校验
 *
 * @author lym
 */
public class NoForbiddenCharValidator implements ConstraintValidator {
    private Pattern forbiddenPattern;


    @Override
    public void initialize(NoForbiddenChar constraintAnnotation) {
        String forbiddenPatternStr = constraintAnnotation.forbiddenPattern();
        this.forbiddenPattern = Pattern.compile(forbiddenPatternStr);
    }


    /**
     * @return true 不含特殊字符  false 含特殊字符
     */
    @Override
    public boolean isValid(CharSequence value, ConstraintValidatorContext context) {
        boolean result = true;
        if (StringUtils.isNotEmpty(value)) {
            Matcher m = forbiddenPattern.matcher(value);
            result = !m.find();
        }
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy