Parsing (im Marshalling-Prozess) und Validierung haben nichts miteinander zu tun, ersteres wird nach passieren letzteres.
Überprüfen Sie das date
Validierungsmethode API benötigt es weitere Argumente, d. h. das zu verwendende Format und einen benutzerdefinierten regulären Ausdruck, der anstelle der vordefinierten verwendet werden soll.
API> \Cake\Validation\Validation::Datum()
Um also Ihre lokalisierten deutschen Daten richtig zu validieren, müssen Sie den dmy
angeben formatieren.
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
Wenn Sie die lokalisierte Validierung global anwenden möchten, sodass das Format an einem einzigen Punkt in Ihrer App geändert werden kann, können Sie beispielsweise eine benutzerdefinierte Validierungsregel und einen global verfügbaren benutzerdefinierten Anbieter verwenden, der das Format aus Ihren Apps abruft Konfiguration, wie
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'
])
Siehe auch Kochbuch> Validierung> Benutzerdefinierte Validierungsregeln