Parsowanie (w procesie krosowania) i walidacja nie mają ze sobą nic wspólnego, to pierwsze nastąpi po to drugie.
Sprawdź date
API metody walidacji, wymaga dalszych argumentów, to znaczy formatu do użycia i niestandardowego wyrażenia regularnego do użycia zamiast predefiniowanych.
API> \Cake\Validation\Validation::data()
Aby właściwie zweryfikować swoje zlokalizowane niemieckie dane, musisz określić dmy
format.
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
Jeśli chcesz zastosować zlokalizowaną walidację globalnie, w sposób, w którym format można zmienić w jednym punkcie aplikacji, możesz na przykład użyć niestandardowej reguły walidacji i globalnie dostępnego niestandardowego dostawcy, który pobiera format z Twoich aplikacji konfiguracja, jak
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'
])
Zobacz także Książka kucharska> Walidacja> Niestandardowe zasady walidacji