Nop.Plugin.Payments.PayPalDirect\Controllers\PaymentPayPalDirectController.cs
-Changes in bold
[NonAction]
public override IList<string> ValidatePaymentForm(FormCollection form)
{
var warnings = new List<string>();
//validate
var validator = new PaymentInfoValidator(_localizationService);
var model = new PaymentInfoModel()
{
CardholderName = form["CardholderName"],
CardNumber = form["CardNumber"],
CardCode = form["CardCode"],
ExpireMonth = form["ExpireMonth"],
ExpireYear = form["ExpireYear"]
};
var validationResult = validator.Validate(model);
if (!validationResult.IsValid)
foreach (var error in validationResult.Errors)
warnings.Add(error.ErrorMessage);
return warnings;
}
Nop.Plugin.Payments.PayPalDirect\Validators\PaymentInfoValidator.cs
-Add these 2 rules
RuleFor(x => x.ExpireMonth).NotEmpty() .WithMessage(localizationService.GetResource("Payment.ExpireMonth.Required"));
RuleFor(x => x.ExpireYear).NotEmpty() .WithMessage(localizationService.GetResource("Payment.ExpireYear.Required"));