in validation/src/main/scala/com/twitter/finatra/validation/constraints/MinConstraintValidator.scala [41:90]
private[this] def isValid(
value: BigDecimal,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(
BigDecimal(this.minValue) <= value,
value.toString,
value.longValue,
constraintValidatorContext)
private[this] def isValid(
value: BigInt,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(
BigInt(this.minValue) <= value,
value.toString,
value.longValue,
constraintValidatorContext)
private[this] def isValid(
value: Number,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(
this.minValue <= value.doubleValue,
value.toString,
value.longValue(),
constraintValidatorContext)
private[this] def isValid(
value: Int,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(this.minValue <= value, value.toString, value.toLong, constraintValidatorContext)
private[this] def handleInvalid(
valid: => Boolean,
value: String,
valueAsLong: Long,
constraintValidatorContext: ConstraintValidatorContext
): Boolean = {
if (!valid) {
TwitterConstraintValidatorContext
.withDynamicPayload(ErrorCode.ValueTooSmall(minValue, valueAsLong))
.withMessageTemplate(s"[$value] is not greater than or equal to $minValue")
.addConstraintViolation(constraintValidatorContext)
}
valid
}