J'ai les règles de validation suivantes pour l'authentification de base d'une méthode de paiement (les éléments avancés, comme la validation de la DCV, la carte existante, etc. sont gérés ultérieurement par Moneris).
$rules = [
"type" => "required|in:visa,mastercard",
"nickname" => "required",
"credit_card_number" => "required|numeric|digits:16",
"expiry" => "required|string|size:5|date_format:m/y|after:today",
"cvd" => "required|numeric|digits:3"
];
La règle expiry
n'accepte pas de valeur spécifique, 04/yy
mais il accepte 03/yy
y 05/yy
Je n'ai aucune idée de la raison pour laquelle cela se produit, mais je dois y remédier. Quelqu'un a-t-il déjà rencontré ce comportement ?
Pour référence, le résultat dd($request->input(), $validator->passes(), $validator->errors());
quand je passe 04/19
est le suivant :
array:6 [
"type" => "visa"
"nickname" => "Testing"
"credit_card_number" => "4242424242424242"
"expiry" => "04/19"
"cvd" => "123"
"masked_pan" => "************4242"
]
false
MessageBag {#502
#messages: array:1 [
"expiry" => array:1 [
0 => "The expiry does not match the format m/y."
]
]
#format: ":message"
}
Lorsque j'envoie 05/19
tout fonctionne bien :
array:6 [
"type" => "visa"
"nickname" => "Testing"
"credit_card_number" => "4242424242424242"
"expiry" => "05/19"
"cvd" => "123"
"masked_pan" => "************4242"
]
true
MessageBag {#502
#messages: []
#format: ":message"
}