sql >> Database teknologi >  >> RDS >> Mysql

CakePHP 3 - Parse Date med LocalStringFormat for at rette SQL-format og korrekt validering

Parsing (i rangeringsprocessen) og validering har intet med hinanden at gøre, førstnævnte vil ske efter sidstnævnte.

Tjek date valideringsmetode API, det kræver yderligere argumenter, det vil sige formatet, der skal bruges, og et brugerdefineret regulært udtryk, der skal bruges i stedet for de foruddefinerede.

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

Så for at kunne validere dine lokaliserede tyske data korrekt, skal du angive dmy format.

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

Hvis du vil anvende lokaliseret validering globalt, på en måde hvor formatet kan ændres fra et enkelt punkt i din app, så kan du for eksempel bruge en tilpasset valideringsregel og en globalt tilgængelig tilpasset udbyder, som henter formatet fra dine apps 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 også Kogebog> Validering> Tilpassede valideringsregler




  1. Opret PostgreSQL ROLLE (bruger), hvis den ikke findes

  2. PostgreSQL Management og Automation med ClusterControl

  3. Sådan renser du rå SQL i Rails 4

  4. SQLite Connection lækket, selvom alt lukkede