
org.rx.util.Validator Maven / Gradle / Ivy
package org.rx.util;
import lombok.SneakyThrows;
import javax.validation.*;
import javax.validation.executable.ExecutableValidator;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.rx.annotation.ValidRegex;
import org.rx.core.Linq;
import org.rx.spring.SpringContext;
import org.rx.util.function.Func;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
/**
* http://www.cnblogs.com/pixy/p/5306567.html
*/
public class Validator {
public static class RegexValidator implements ConstraintValidator {
private ValidRegex validRegex;
@Override
public void initialize(ValidRegex validRegex) {
this.validRegex = validRegex;
}
@Override
public boolean isValid(String s, ConstraintValidatorContext context) {
if (s == null) {
return true;
}
Pattern p = Pattern.compile(validRegex.value().getRegexp(), Pattern.CASE_INSENSITIVE);
return p.matcher(s).matches();
}
}
private static javax.validation.Validator getValidator() {
return SpringContext.isInitiated() ? SpringContext.getBean(javax.validation.Validator.class) : Validation.buildDefaultValidatorFactory().getValidator();
}
/**
* 验证bean实体 @Valid deep valid
*
* @param bean
*/
public static void validateBean(Object bean) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy