#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)