sql >> Databasteknik >  >> RDS >> Mysql

CakePHP 3 - Analysera datum med LocalStringFormat för att korrigera SQL-format och korrekt validering

Parsning (i rangeringsprocessen) och validering har inget med varandra att göra, det förra kommer att ske efter det senare.

Kontrollera date valideringsmetod API, det kräver ytterligare argument, det vill säga formatet som ska användas, och ett anpassat reguljärt uttryck att använda istället för de fördefinierade.

API> \Cake\Validation\Validation::date()

Så för att korrekt validera dina lokaliserade tyska data måste du ange dmy format.

->add('datefield', 'valid', ['rule' => ['date', 'dmy']])

Om du vill tillämpa lokaliserad validering globalt, på ett sätt där formatet kan ändras från en enda punkt i din app, kan du till exempel använda en anpassad valideringsregel och en globalt tillgänglig anpassad leverantör som hämtar formatet från dina appar 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 även Kokbok> Validering> Anpassade valideringsregler




  1. Automatisera mysql_secure_installation med echo-kommando via ett skalskript

  2. Golang, mysql:Fel 1040:För många anslutningar

  3. Hur man utför uppdateringsoperationer på kolumner av typen JSONB i Postgres 9.4

  4. När du använder GETDATE() på många ställen, är det bättre att använda en variabel?