L'analyse (dans le processus de marshalling) et la validation n'ont rien à voir, la première aura lieu après ce dernier.
Vérifiez la date
API de méthode de validation, il prend des arguments supplémentaires, c'est-à-dire le format à utiliser et une expression régulière personnalisée à utiliser à la place de celles prédéfinies.
API > \Cake\Validation\Validation : :date()
Ainsi, afin de valider correctement vos données allemandes localisées, vous devrez spécifier le dmy
formater.
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
Si vous souhaitez appliquer une validation localisée à l'échelle mondiale, de manière à ce que le format puisse être modifié à partir d'un seul point dans votre application, vous pouvez par exemple utiliser une règle de validation personnalisée et un fournisseur personnalisé disponible dans le monde entier, qui récupère le format à partir de vos applications. configuration, comme
namespace App\Validation;
use Cake\Core\Configure;
use Cake\Validation\Validation;
class AppValidation
{
public static function date($check) {
return Validation::date($check, Configure::read('Locale.validation.dateFormat'));
}
}
$validator->provider('appValidation', 'App\Validation\AppValidation');
$validator->add('datefield', 'valid', [
'rule' => 'date',
'provider' => 'appValidation'
])
Voir aussi Livre de recettes> Validation> Règles de validation personnalisées