Mysql
 sql >> база данни >  >> RDS >> Mysql

CakePHP 3 - Анализирайте датата с LocalStringFormat за коригиране на SQL формат и правилна валидация

Разборът (в процеса на маршалиране) и валидирането нямат нищо общо един с друг, първото ще се случи след последното.

Проверете date API на метода за валидиране, той приема допълнителни аргументи, тоест формата, който да се използва, и персонализиран регулярен израз, който да се използва вместо предварително дефинираните.

API> \Cake\Validation\Validation::дата()

Така че, за да потвърдите правилно вашите локализирани немски данни, ще трябва да посочите 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'
])

Вижте също Cookbook> Validation> Персонализирани правила за валидиране




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържете с MySQL от командния ред

  2. Mysql FROM_UNIXTIME като UTC

  3. AWS rds - Как да чета от прочетена реплика в Java приложение?

  4. MySQL:Обобщете всички редове в таблицата в една заявка

  5. Mysql - Съхранена процедура OUT променлива връща нула