halo.validate jquery.validate 形式的后端验证方式

原创
2017/06/16 15:03
阅读数 159

#halo.validate
    
    

    @Validate(rules = { 
            @Rule(value = "required:true", message = "用户名不能为空"), 
            @Rule(value = "checkUsernameExists:", message = "用户名不能重复"), 
            @Rule(value = "maxlength:10", message = "输入长度最多是 10 的字符串(汉字算一个字符)。"), 
            @Rule(value = "minlength:5", message = "输入长度最小是 5 的字符串(汉字算一个字符)。")
    })
    private String username;
    
    @Validate(rules = { @Rule(value = "required:true", message = "密码不能为空") })
    private String password;

    public static void main(String[] args) {
        User user = new User();
        user.setUsername("admin");
        IValidateService validate = new BaseValidateService();
        validate.validate(user);
    }


    
    
jquery.Validate 形式的验证方式
继承Validation 实现验证
配置ValidationRegister 注解

例子:

 

   @ValidationRegister("checkUsernameExists")
    public class UsernameValidation implements Validation {
    
        @Override
        public Boolean validate(Object attrValue, Class<?> attrType, Object params) {
            if (attrValue.equals("admin")) { return true; }
            return false;
        }
    }


应用:
    
   

 @Validate(rules = { 
            @Rule(value = "required:true", message = "用户名不能为空"), 
            @Rule(value = "checkUsernameExists:", message = "用户名不能重复")
    })
    private String username;
    


    
出错提示:

 

   Exception in thread "main" com.dasuanzhuang.halo.validate.error.ValidateException: [code:required,message:用户名不能为空]
    at com.dasuanzhuang.halo.validate.BaseValidateService.parseRuleAndValidate(BaseValidateService.java:39)
    at com.dasuanzhuang.halo.validate.BaseValidateService.validate(BaseValidateService.java:55)
    at com.dasuanzhuang.halo.test.User.main(User.java:41)    


 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部