首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在自定义验证注释上使用oval

如何在自定义验证注释上使用oval
EN

Stack Overflow用户
提问于 2016-04-19 22:09:08
回答 1查看 765关注 0票数 2

下面是我的代码,用于创建用于验证名称的自定义注释

ValidName.java

代码语言:javascript
复制
package custom.Annotation;
import java.lang.annotation.*;
import net.sf.oval.configuration.annotation.Constraint;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.LOCAL_VARIABLE)
@Constraint(checkWith=NameValidator.class)
public @interface ValidName {
String  message() default NameValidator.message;
}

以下是我的Constraint类代码

代码语言:javascript
复制
package custom.Annotation;
import net.sf.oval.Validator;
import net.sf.oval.configuration.annotation.AbstractAnnotationCheck;
import net.sf.oval.context.OValContext;
import net.sf.oval.exception.OValException;
import play.Logger;
import java.util.regex.Pattern;
public class NameValidator extends AbstractAnnotationCheck<ValidName>
{    
public final static String message="custom.message";
private static final String letter = "[a-zA-Z]";
public static final Pattern VALID_PATTERN = Pattern.compile(letter);

public static boolean isValidText(String userName) {
    return VALID_PATTERN.matcher(userName).matches();
}


@Override
public void configure(ValidName annotation) {
    setMessage(annotation.message());
}
@Override
public boolean isSatisfied(Object validatedObject, Object valueToValidate, OValContext context,
                           Validator validator) throws OValException {
    try
    {
        if (valueToValidate == null) {
            return false;
        }
    }catch (Exception e){
        e.getMessage();
    }
           return` isValidText(valueToValidate.toString()`); 
}
}

当我将@ValidName应用于任何局部变量时,什么都没有发生,并且我也无法调试程序。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-02 00:21:12

需要通过调用oval validation库的validate方法来使用椭圆验证。

代码语言:javascript
复制
@Autowired
@Qualifier("ovalValidator")
private Validator ovalValidator;            

List<ConstraintViolation> violations = null;
violations = ovalValidator.validate(objectToValidate);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36720858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档