校验
注意
只有Mongodb Plugin 1.0.5或以上版本才有此功能。
如果继承了MongoValidate类则自动继承了MongoBean类
使用
添加约束
先将bean类继承MongoValidate,然后添加约束。
Mongodb Plugin校验器是通过直接在bean对象的变量上注解的方式进行约束的:
如:
@NotNull(message="如果message里面包含了文字,那么出错时可以获取得到")
private String test;
@AssertTrue
用于boolean字段,该字段只能为true。
@AssertFalse
该字段的值只能为false。
@CreditCardNumber
对信用卡号进行一个大致的验证。
@DecimalMax
只能小于或等于该值。
@DecimalMin
只能大于或等于该值。
@Digits(integer=2,fraction=20)
检查是否是一种数字的整数、分数,小数位数的数字。
@Email
检查是否是一个有效的email地址。
@Future
检查该字段的日期是否是属于将来的日期。
@Length(min=1,max=3)
检查所属的字段的长度是否在min和max之间,只能用于字符串。
@Max(value = 4)
该字段的值只能小于或等于该值。
@Min(value = 4)
该字段的值只能大于或等于该值。
@NotNull
不能为null。
@NotBlank
不能为空,检查时会将空格忽略。
@NotEmpty
不能为空,这里的空是指空字符串。
@Null
检查该字段为空。
@Past
检查该字段的日期是在过去。
@Size(min=1, max=3)
检查该字段的size是否在min和max之间,可以是字符串、数组、集合、Map等。
@URL(protocol=,host,port)
检查是否是一个有效的URL,如果提供了protocol,host等,则该URL还需满足提供的条件。
@Valid
如果使用这个注解,那么该变量中包含的对象如果也有校验器注解的话就会自动进行校验。
@CreditCardNumber(ignoreNonDigitCharacters=)
检查信用卡卡号
@URL(protocol=, host=, port= regexp=, flags=)
是否是个链接
@Type(value=)
是否是boolean或者int或者double,根据所需在value那里传入即可。如value="boolean"
@Inside(value={})
是否在这个数组(字符串)中
@Inside(value={})
是否在这个数组(字符串)中
@Chinese(value=boolean)
是否是中文或者不是中文。如果为true则要求变量必须是中文,如果为false则要求变量不能为中文
@Exist(value=boolean,collectionName=string,key=string)
要求变量必须在mongodb中某个集合某个字段下存在或者不存在。如果value等于true则要求必须存在,如果false则代表不可重复。如果key为"id"或者"_id"则会自动将字符串变成ObjectId
开始校验
直接通过validation()校验即可,如:
Account account=new Account() //继承MongoValidate类
account.validation() //校验所有参数
account.getErrorMessage() //获取出错信息,就是校验失败的注解上message的内容
account.validation("password", "username") //只校验某些参数(1.0.6版本+)