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

Форматът на ZF2 за валидиране на дата и час PT_BR винаги Въведената дата не изглежда валидна

След като дълго време обръщах внимание на този проблем, намерих правилното и бързо решение. След 6 месеца правене на наука получих:

Добре всичко:

    $traindate = new Element\DateTime('trainDate');
    $traindate->setAttributes(array(
        'name' => 'trainDate',
        'id' => 'trainDate',
        'size' => '30',
        'class' => 'datepicker',
    ));
    $traindate->setFormat('d/m/Y'); //ONLY WORKS ON THIS FORMAT.

Документите и хората в интернет не го правят ясно, но задаването на формат работи само в този формуляр.

И за да вземете това в Entity, трябва да напишете свой собствен Hydrator, разширяващ DoctrineHydrator:

namespace Application\Hydrator;
use DoctrineModule\Stdlib\Hydrator\DoctrineObject;

class MyCustomHydrator extends DoctrineObject {
    protected function handleTypeConversions($value, $typeOfField) 
    {

        if($typeOfField == 'datetime'){
            return \DateTime::createFromFormat('d/m/Y', $value);
        }

        return parent::handleTypeConversions($value, $typeOfField);
    }
}

Улеснява работата с всеки формат на дата. Можете да разширите по-нататъшното правене на локални твърдения на този персонализиран Hydrator, както желаете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C# Entity Framework:Ключова дума не се поддържа:'port'

  2. MySQL код на грешка:1064. Имате грешка във вашия SQL синтаксис

  3. изтриването на обекти в каскада не работи във връзка ManyToMany

  4. Изтриване на част от низ в MYSQL

  5. Мога ли да настроя филтрирана репликация на база данни със звезда?