sql >> Database >  >> RDS >> Mysql

CakePHP 3 - Datum ontleden met LocalStringFormat om het SQL-formaat en correcte validatie te corrigeren

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




  1. Hoe Log() werkt in PostgreSQL

  2. hoe de time-out voor blijvende mysql-verbindingen te wijzigen

  3. Records van de afgelopen 24 uur selecteren in PostgreSQL

  4. Buffercache:wat is het en hoe beïnvloedt het de databaseprestaties?