S SmartDocs
Serie: Bridget java 24 righe · Aggiornato 2026-05-08

ExpiryDateValidator.java

Bridget/payment-gateway-microservices/services/payment-service/src/main/java/com/checkout/paymentgw/payment/api/validation/ExpiryDateValidator.java

package com.checkout.paymentgw.payment.api.validation;

import com.checkout.paymentgw.payment.api.dto.PostPaymentRequest;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;

import java.time.YearMonth;

public class ExpiryDateValidator implements ConstraintValidator<ValidExpiryDate, PostPaymentRequest> {

    @Override
    public boolean isValid(PostPaymentRequest req, ConstraintValidatorContext ctx) {
        if (req == null || req.getExpiryMonth() == null || req.getExpiryYear() == null) {
            // Field-level @NotNull will report the specific missing field.
            return true;
        }
        try {
            YearMonth expiry = YearMonth.of(req.getExpiryYear(), req.getExpiryMonth());
            return expiry.isAfter(YearMonth.now()) || expiry.equals(YearMonth.now());
        } catch (Exception e) {
            return false;
        }
    }
}

Articoli correlati

Bridget java Aggiornato 2026-03-30

PaymentGatewayApplication.java

PaymentGatewayApplication.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/PaymentGatewayApplication.java).

Leggi l'articolo →
Bridget java Aggiornato 2026-03-20

ApplicationConfiguration.java

ApplicationConfiguration.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/configuration/ApplicationConfiguration.java).

Leggi l'articolo →
Bridget java Aggiornato 2026-03-30

RequestResponseLogger.java

RequestResponseLogger.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/configuration/RequestResponseLogger.java).

Leggi l'articolo →
Bridget java Aggiornato 2026-04-14

PaymentGatewayController.java

PaymentGatewayController.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/controller/PaymentGatewayController.java).

Leggi l'articolo →
Bridget java Aggiornato 2026-03-20

PaymentStatus.java

PaymentStatus.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/enums/PaymentStatus.java).

Leggi l'articolo →
Bridget java Aggiornato 2026-03-29

BankErrorException.java

BankErrorException.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/exception/BankErrorException.java).

Leggi l'articolo →