Oval注解笔记注解中的公共属性appliesTo:除了数组、映射和集合的对象类型外,该设置也被忽略(默认ConstraintTarget.VALUES)errorCode:错误代码传递给constraintviolation对象message:自定义错误信息profiles:关联约束severity:严重的传递给constraintviolation对象target:一种应该应用于从该对象中指定对象图中的位置when:如果该约束将被验证则返回true;如果当前的验证被忽略,则false。1、@Assert(expr=表达式,lang=语言)说明:检查是否在指定的表达式语言返回true。参数:expr:表达式内容;lang:语言类型使用:@Assert(expr=12,lang=js)2、@AssertFalse()说明:检查该值是否为假。参数:使用:@AssertFalse()privatebooleanye=false;不报错@AssertFalse()privatebooleanye=true;则报错3、@AssertNull()说明:检查是否为空参数:使用:@AssertNull()privateintnul;4、@AssertTrue()说明:检查该值是否为真。参数:使用:@AssertTrue()privatebooleanye=true;不报错@AssertTrue()privatebooleanye=false;则报错5、@AssertUrl()说明:检查该值是否为真。参数:connect:指定如果连接到该网址应试图验证其有效性使用:@AssertURL()privateStringurl=、@AssertValid说明:用Validator.validate()检查值是否通过一个校验器参数:使用:递归校验7、@ValidateWithMethod(methodName=方法名,parameterType=int.class)说明:用指定的方法验证值参数:methodName:知道验证方法;parameterType:参数类型使用:@ValidateWithMethod(methodName=isValidDay,parameterType=int.class)privateintday=31;privatebooleanisValidDay(intday){GregorianCalendarcal=newGregorianCalendar();cal.setLenient(false);cal.set(GregorianCalendar.YEAR,year);cal.set(GregorianCalendar.MONTH,month-1);cal.set(GregorianCalendar.DATE,day);try{cal.getTimeInMillis();//throwsIllegalArgumentException}catch(IllegalArgumentExceptione){returnfalse;}returntrue;}8、@Min(X)说明:检查定义数字类转的赋值是否大于或等于x。参数:大于或等于的具体值使用:@Min(111)privateintyear;9、@Max(X)说明:检查定义数字类转的赋值是否小于或等于x。参数:小于或等于的具体值使用:@Min(111)privateintyear;10、@NotNull说明:检查值不能为空参数:使用:@NotNull()privatepeoplea;11、@Range(min=1,max=12)说明:限制值的范围参数:min:大于等于该值;max:小于等于该值使用:@Range(min=1,max=12)privateintmonth=3;12、@CheckWith(XXX.calss)说明:用同一类的方法检查该值,该方法以该值为参数,如果无效,则返回真实。参数:具体验证类的class对象使用:@CheckWith(MyCheck.class)privateintch=1;classMyCheckimplementsSimpleCheck{@OverridepublicbooleanisSatisfied(ObjectvalidatedObject,Objectvalue){//TODOAuto-generatedmethodstubreturnfalse;}}13、@DateRange(min=2015,max=2018)说明:限制时间范围参数:min:小于等于的时间;max:大于等于的时间使用:@DateRange(min=yesterday,max=tomorrow)privateDatedate=newDate();14、@Digits(minInteger=1,maxInteger=100)说明:检查字符串表示形式是否具有整数和小数位数的最大/最小值参数:使用:@Digits(minInteger=1,maxInteger=100)privateStringdi=aSDAS;15、@Email()说明:验证字符串是否为邮件格式参数:使用:@Email()privateStringemail=sjm@qq.com;16、@Future说明:验证值是否是在未来的日期参数:使用:@FutureprivateDatefut=newDate(2018,1,11);17、@HasSubstring(“asd”)说明:验证值是否包含自字符串参数:自字符串使用:@HasSubstring(asd)privateStringsub=qweasd;18、@InstanceOf(XXX.class)说明:验证值是否是指定的类或者父类的实例参数:指定类的class类型使用:@InstanceOf(String.class)privateStringins=aaa;19、@InstanceOfAny({XXX.class,CCC.class})说明:验证值是否是指定的类或者父类的其中一个的实例参数:指定类的class类型数组使用:@InstanceOfAny({String.class,Integer.class})privateStringinsAn=aaa;20、@Length(min=1,max=9)说明:检查字符串表示是否具有一定长度参数:min:最小字符串长度;max:最大字符串长度使用:@Length(min=1,max=9)privateStringlen=aaa;21、@MatchPattern(matchAll=false,pattern={,})说明:检查指定的正则表达式模式是否匹配参数:matchAll:是否都要匹配;pattern:正则表达式数组使用:@MatchPattern(matchAll=false,pattern={[1-9][0-9]{4,}})privateStringmatch=1212123;22、@MaxLength(4)说明:验证给定的值的长度是否在范围内参数:最大长度使用:@MaxLength(4)privateStringmaxlen=1212123;23、@MaxSize(3)说明:验证数组或者list的长度是否超过给定的值参数:最大的长度使用:@MaxSize(1)privateString[]maxsize=newString[]{1212123,asda};24、@MemberOf说明:验证值是否在给定的集合中参数:值集合使用:@MemberOf({qqq,})privateStringmem=qqq;25、@MinLength(4)说明:验证给定的值的长度是否在范围内参数:最小长度使用:@MinLength(4)privateStringminlen=1212123;26、@MinSize(3)说明:验证数组或者list的长度是否大于给定的值参数:最小的长度使用:@MinSize(1)privateString[]minsize=newString[]{1212123,asda};27、@NoSelfReference说明:请检查该值并不是对验证对象本身的引用参数:使用:@NoSelfReferenceprivateTestself;28、@NotBlank()说明:验证字符串不是空字符串或者只有空格参数:使用:@NotBlank()privateStringa=“qwqw”;29、@NotEmpty()说明:验证字符串不是()参数:使用:@NotEmpty()privateStringa=“”;30、@NotEqual(“qwqw”)说明:验证字符串是否是给定的值参数:给定的字符串使用:@NotEqual(qwqw)privateStringnoteq=qwqw;31、@NotEqualToField(“qqq”)说明:验证字符串是否是给定的属性值参数:使用:32、@NotMatchPattern(matchAll=false,pattern={,})说明:检查指定的正则表达式模式是否都不匹配参数:matchAll:是否都要匹配;pattern:正则表达式数组使用:@MatchPattern(matchAll=false,pattern={[1-9][0-9]{4,}})privateStringmatch=1212123;33、@NotMemberOf说明:验证值是否都不在给定的集合中参数:值集合使用:@MemberOf({qqq,})privateStringmem=eee;34、@NotNegative()说明:检查值是否大于等于0参数:使用:@NotNegative()privateintnotneg=2;35、@Past说明:验证值是否是在之前的日期参数:使用:@PastprivateDatepast=newDate(2014,1,11);36、@Size(4)说明:检查array,map,orcollection是否有给定的大小参数:给定大小使用:@Size(4)privateString[]size=newString[]{qqq,””};