解析(マーシャリングプロセスで)と検証は互いに関係がなく、前者は後に発生します。 後者。
date
を確認してください 検証メソッドAPIには、さらに引数、つまり使用する形式と、事前定義されたものの代わりに使用するカスタム正規表現が必要です。
API> \ Cake \ Validation \ Validation ::date()
したがって、ローカライズされたドイツ語データを適切に検証するには、dmy
を指定する必要があります フォーマット。
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
アプリ内の単一のポイントからフォーマットを変更できるように、ローカライズされた検証をグローバルに適用する場合は、たとえば、カスタム検証ルールと、アプリからフォーマットをフェッチするグローバルに利用可能なカスタムプロバイダーを使用できます。のような構成
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'
])