Parsing (in het marshalling-proces) en validatie hebben niets met elkaar te maken, het eerste gebeurt na de laatste.
Controleer de date
validatiemethode-API, er zijn verdere argumenten nodig, dat wil zeggen het formaat dat moet worden gebruikt, en een aangepaste reguliere expressie om te gebruiken in plaats van de vooraf gedefinieerde.
API> \Cake\Validation\Validation::datum()
Dus om uw gelokaliseerde Duitse gegevens correct te valideren, moet u de dmy
. specificeren formaat.
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
Als u gelokaliseerde validatie wereldwijd wilt toepassen, zodat de indeling vanaf één punt in uw app kan worden gewijzigd, kunt u bijvoorbeeld een aangepaste validatieregel en een wereldwijd beschikbare aangepaste provider gebruiken, die de indeling uit uw apps haalt configuratie, zoals
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'
])
Zie ook Kookboek> Validatie> Aangepaste validatieregels