1、接口注釋
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy
= {IncrementalValidator.
class
})
public
@
interface
IncrementalInteger {
String message()
default
"{common.incrementalInteger.Pattern}"
;
Class
<?>[] groups()
default
{};
Class
<?
extends
Payload>[] payload()
default
{};
/**
*
@return
value the element must be larger or equal to
*/
int
min();
/**
*
@return
value the element must be smaller or equal to
*/
int
max();
/**
*
@return
value must be incremental
*/
int
increment();
/**
* Defines several {
@link
IncrementalInteger} annotations on the same
* element.
*
*
@see
IncrementalInteger
*/
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
@Retention(RUNTIME)
@Documented
@
interface
List {
IncrementalInteger[] value();
}
}
2、Validator類
public
class
IncrementalValidator
implements
ConstraintValidator<IncrementalInteger, Integer>
{
private
IncrementalInteger constraintAnnotation;
@Override
public
void
initialize(IncrementalInteger constraintAnnotation) {
this
.constraintAnnotation =
constraintAnnotation;
}
@Override
public
boolean
isValid(Integer value, ConstraintValidatorContext context) {
int
min =
constraintAnnotation.min();
int
increment =
constraintAnnotation.increment();
int
max =
constraintAnnotation.max();
if
(value <
min) {
return
false
;
}
if
(value >
max) {
return
false
;
}
if
((value - min) % increment != 0
) {
return
false
;
}
return
true
;
}
}
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

