Parsning (i rangeringsprocessen) och validering har inget med varandra att göra, det förra kommer att ske efter det senare.
Kontrollera date
valideringsmetod API, det kräver ytterligare argument, det vill säga formatet som ska användas, och ett anpassat reguljärt uttryck att använda istället för de fördefinierade.
API> \Cake\Validation\Validation::date()
Så för att korrekt validera dina lokaliserade tyska data måste du ange dmy
format.
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
Om du vill tillämpa lokaliserad validering globalt, på ett sätt där formatet kan ändras från en enda punkt i din app, kan du till exempel använda en anpassad valideringsregel och en globalt tillgänglig anpassad leverantör som hämtar formatet från dina appar konfiguration, som
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'
])
Se även Kokbok> Validering> Anpassade valideringsregler