我有两种类型的注册,注册A和注册B,每种都会有一些相同的字段和一些不同的字段。我打算创建抽象类注册,A和B都会有自己的类,这些类从注册中扩展。我是否应该创建一个单独的验证类,其中包含单独的扩展验证类A和B?或者是否有更好的模式可用于此类情况? 最佳答案 是的,我会将注册和验证作为单独的实体。编辑另外,thisSOquestion可能包含一些对您有值(value)的信息。 关于PHPOOP设计模式:ShouldICreatetwoseparateclassesforregistration
如何使用Yii中的表单生成器创建表单?它的数据模型是什么? 最佳答案 Howtomakeaformbuilderinyiiframework?UsingFormBuilderTheYiiformbuilderusesaCFormobjecttorepresentthespecificationsneededtodescribeanHTMLform,includingwhichdatamodelsareassociatedwiththeform,whatkindofinputfieldsthereareintheform,andhow
我有一个名为createDevice.php的表单:classAdmin_Form_CreateDeviceextendsZend_Form{publicfunctioninit(){$this->setName('CreateDeviceAccess');$sort=newZend_Form_Element_Select('employee_name');$sort->setLabel('EmployeeName:');$this->addElements(array($sort));/*FormElements&OtherDefinitionsHere...*/}}现在在名为vie
由于围绕这个主题的文档有些单薄,我走到了死胡同。我有两个模型:Job和JobAttribute。一个Job有很多JobAttributes,一个JobAttribute有一个Job:classJob{/***@ORM\OneToMany(targetEntity="JobAttribute",mappedBy="job_attributes")**@varArrayCollection*/private$attributes;}classJobAttribute{/***@ORM\Column(name="type",type="string",length=50)**@varstri
我想使用ZendFramework2为我的应用程序创建一个表单,我已准备好所有内容并且表单正在显示,但我的问题是我无法绑定(bind)来自数据库的初始表单值$myUserDetails=;$form=$form->bind($myUserDetails);//Thisshouldsetthevaluesfortheformtodisplaybutitdoesnt我的显示逻辑很简单如下图$form=$this->form;$form->setAttribute('action',$this->url('',array('action'=>'')));$form->prepare();ec
我目前正在重载SonataUser注册表格,以便在人们创建帐户时我可以拥有自己的自定义表格。我已经正确地重载了所有内容(处理程序、表单类型、Controller和Twig模板)。但是,当我发送表单时,我只取回数据并且没有创建新用户。因此,我进行了调查,发现当我回应这个时var_dump($this->form->getErrors());我收到一条错误消息,指出CSRFtoken无效。我正在使用Symfony2.4.2和sonatauser2.2.x-dev。我将向您展示我重载的所有类。现在,他们大多是从他们的parent那里复制和粘贴的。这是我的表单处理程序**Fortheful
我为Symfony2表单创建了自己的验证器。它称为ValidDateValidator,它应该过滤掉无效日期,例如2015-02-31。表单类型如下所示:->add('thedate',DateType::class,array('widget'=>'single_text','format'=>'yyyy-MM-dd','constraints'=>array(newValidDate())))现在,如果我尝试像这样在我的验证器中访问它:publicfunctionvalidate($value,Constraint$constraint){//thisreturns2015-03-
我的页脚中有一个联系表,它将显示在所有页面上。我怎么做?文档认为我总是有一个特定的页面负责表单。表格目前在Twig中看起来像这样:{{"o.footer.form.name"|t}}{{"o.footer.form.email"|t}}{{"o.footer.form.phone"|t}}{{"o.footer.form.message"|t}} 最佳答案 自Formplugin的最新版本以来,您可以这样做.只需创建一个定义了表单的页面,然后从其他页面调用它,例如:{%include"forms/form.html.twig"wit
我想一起打印所有验证错误,而不是每个字段旁边的每个错误。但是form_errors(form)不工作。我可以打印单个错误,所以我想我可以为每个字段使用form_errors(form.some_field)。问题是它会打印类似“此字段不能为空”的错误,除非紧挨着该字段,否则这是没有意义的。有什么想法吗? 最佳答案 您应该查看error_bubbling字段属性。如果将该属性设置为true,则该字段的任何错误都将传递给父字段或表单。例如,如果在普通字段上设置为true,则该字段的任何错误都将附加到主表单,而不是特定字段。
在Symfony2应用程序中,我试图实现一个带有搜索框和一些附加过滤器(选择小部件)的表单。搜索框在数据库中查找记录,然后显示有关该记录的详细信息。过滤器用于显示或隐藏某些类型的详细信息。如果没有找到记录或找到一条记录,这会起作用,因为我可以留在同一个Controller和操作中。但是,如果找到多个记录,我会呈现一个显示选择对话框的不同模板。列表中的每条记录都是返回原始页面的链接,但以记录ID作为参数。当我单击该链接时,我丢失了表单数据。在此处通过重定向保留表单数据的最佳方法是什么(或有条件地显示没有重定向的选择对话框)? 最佳答案