Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ZF2 luôn xác thực định dạng ngày và giờ PT_BR. Đầu vào có vẻ không phải là ngày hợp lệ

Sau một thời gian chú ý đến vấn đề này tôi đã tìm ra giải pháp nhanh chóng và đúng đắn. Sau 6 tháng làm khoa học, tôi nhận được:

Tất cả đều đúng:

    $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.

Tài liệu và những người trên internet không làm rõ điều đó, nhưng để đặt Định dạng chỉ hoạt động trên biểu mẫu này.

Và để đưa nó cho Thực thể, bạn cần viết Hydrator của riêng mình để mở rộng 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);
    }
}

Nó làm cho nó trở nên đơn giản để làm việc với bất kỳ định dạng ngày nào. Bạn có thể mở rộng thêm việc đưa ra các xác nhận về Ngôn ngữ trên Bình ủ nước tùy chỉnh này như bạn muốn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao hiệu suất của các truy vấn MySQL rất kém khi sử dụng chỉ mục CHAR / VARCHAR?

  2. Cảnh báo Python và MySQLdb

  3. Bảng với 80 triệu bản ghi và thêm một chỉ mục mất hơn 18 giờ (hoặc mãi mãi)! Giờ thì sao?

  4. MySQL 5.6 Sự cố tìm kiếm toàn văn bản khi tìm kiếm từ trong PHP

  5. Làm cách nào để thử lại giao dịch sau khi gặp sự cố bằng Doctrine?