Parsing (i rangeringsprocessen) og validering har intet med hinanden at gøre, førstnævnte vil ske efter sidstnævnte.
Tjek date
valideringsmetode API, det kræver yderligere argumenter, det vil sige formatet, der skal bruges, og et brugerdefineret regulært udtryk, der skal bruges i stedet for de foruddefinerede.
API> \Cake\Validation\Validation::date()
Så for at kunne validere dine lokaliserede tyske data korrekt, skal du angive dmy
format.
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
Hvis du vil anvende lokaliseret validering globalt, på en måde hvor formatet kan ændres fra et enkelt punkt i din app, så kan du for eksempel bruge en tilpasset valideringsregel og en globalt tilgængelig tilpasset udbyder, som henter formatet fra dine apps 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 også Kogebog> Validering> Tilpassede valideringsregler