sql >> データベース >  >> RDS >> Mysql

CakePHP 3-LocalStringFormatで日付を解析して、SQL形式を修正し、検証を修正します

    解析(マーシャリングプロセスで)と検証は互いに関係がなく、前者はに発生します。 後者。

    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'
    ])
    

    クックブック>検証>も参照してください。カスタム検証ルール




    1. エラー! MySQLマネージャーまたはサーバーのPIDファイルが見つかりませんでした! QNAP

    2. OSXにmysqlgemをインストールできません

    3. SQL Serverの2つの日付の間のすべての週の開始日と終了日を取得するにはどうすればよいですか?

    4. 複数選択フィールドからのデータの処理