Zend framework2 如何使用注释类创建日期字段?
我正在使用zend framework-2中的注释类创建表单。在这个类中,我试图使用注释创建日期字段,但它并没有显示在表单上。请帮助我如何使用注释设置vdate字段属性 TestEntity.php的代码Zend framework2 如何使用注释类创建日期字段?,zend-framework2,Zend Framework2,我正在使用zend framework-2中的注释类创建表单。在这个类中,我试图使用注释创建日期字段,但它并没有显示在表单上。请帮助我如何使用注释设置vdate字段属性 TestEntity.php的代码 <?php namespace TestAjax\Model; use Zend\Form\Annotation; /* * @Annotation\Hydrator("Zend\Stdlib\Hydrator\ObjectProperty") * @Annotation\N
<?php
namespace TestAjax\Model;
use Zend\Form\Annotation;
/*
* @Annotation\Hydrator("Zend\Stdlib\Hydrator\ObjectProperty")
* @Annotation\Name("TestEntity")
*/
class TestEntity
{
/**
* @Annotation\Type("Zend\Form\Element\Date")
* @Annotation\Required({"required":"true" })
* @Annotation\Filter({"name":"vdate"})
* @Annotation\Validator({"name":"Between", "options":{"min":"1970-01-01" "max":"2013-12-31"}})
* @Annotation\Options({"label":"Date:"})
*/
public $vdate;
/**
* @Annotation\Type("Zend\Form\Element\Text")
* @Annotation\Required({"required":"true"})
* @Annotation\Filter({"name":"StripTags"})
* @Annotation\Validator({"name":"StringLength", "options":{"min":"5"}})
* @Annotation\Options({"label":"Last Name:"})
*/
public $lastname;
/**
* @Annotation\Type("Zend\Form\Element\Radio")
* @Annotation\Required({"required":"true" })
* @Annotation\Filter({"name":"StripTags"})
* @Annotation\Options({"label":"Gender:",
* "value_options" : {"1":"Male","2":"Female"}})
* @Annotation\Validator({"name":"InArray",
* "options":{"haystack":{"1","2"},
* "messages":{"notInArray":"Gender is not valid"}}})
* @Annotation\Attributes({"value":"1"})
*/
public $gender;
/**
* @Annotation\Type("Zend\Form\Element\Select")
* @Annotation\Required({"required":"true" })
* @Annotation\Filter({"name":"StripTags"})
* @Annotation\Options({"label":"Class:",
* "value_options" : {"0":"Select a Class","1":"A","2":"B","3":"C"}})
* @Annotation\Validator({"name":"InArray",
* "options":{"haystack":{"1","2","3"},
* "messages":{"notInArray":"Please Select a Class"}}})
* @Annotation\Attributes({"value":"0"})
*/
public $class;
/**
* @Annotation\Type("Zend\Form\Element\Text")
* @Annotation\Required({"required":"true" })
* @Annotation\Filter({"name":"StripTags"})
* @Annotation\Options({"label":"Username:"})
*/
public $username;
/**
* @Annotation\Type("Zend\Form\Element\Password")
* @Annotation\Required({"required":"true" })
* @Annotation\Filter({"name":"StripTags"})
* @Annotation\Options({"label":"Password:"})
*/
public $password;
/**
* @Annotation\Type("Zend\Form\Element\Submit")
* @Annotation\Attributes({"value":"Submit"})
*/
public $submit;
}
使用普通文本框字段(zend\form\element\text),然后使用jquery日期选择器进行UI如果您使用的是条令,请尝试以下方法:
在您的课程声明之前包括以下内容:
<?php
namespace Test\Entity; //Test is your module name and Entity is your folder
use Doctrine\ORM\Mapping as ORM;
use Zend\Form\Annotation;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
/**
* Test
*
* @ORM\Table(name="test")
* @ORM\Entity
* @Annotation\Name("Test")
* @Annotation\Hydrator("Zend\Stdlib\Hydrator\ClassMethods")
* @property int $id
* @property ............ other variable/column name
class Test //your file name must be Test.php
{
这应该会有所帮助
/**
* @var \DateTime
*
* @ORM\Column(name="vdate", type="datetime", nullable=false)
* @Annotation\Attributes({"type":"datetime","min":"2010-01-01T00:00:00Z","max":"2020-01-01T00:00:00Z","step":"1"})
* @Annotation\Options({"label":"V Date:", "format":"Y-m-d\TH:iP"})
*/
public $vdate;