我正在尝试按名称构建一个Symfony表单(在Silex中)。使用下面的配置,我相信我应该能够调用$form=$app['form.factory']->createBuilder('address');,但是FormRegistry找不到一种形式这种类型。useSymfony\Component\Form\AbstractType;useSymfony\Component\Form\FormBuilderInterface;useSymfony\Component\Form\FormTypeExtensionInterface;classAddressTypeextendsAbstr
当使用Zend_Form时,验证输入是否留空的唯一方法是做$element->setRequired(true);如果未设置且元素为空,在我看来,验证未在元素上运行。如果我确实使用了setRequired(),该元素会自动获得标准的NotEmpty验证器。问题是这个验证器的错误消息很糟糕,“值是空的,但需要一个非空值”。我想更改此消息。目前,我已经通过更改Zend_Validate_NotEmpty类来完成此操作,但这有点hacky。理想情况下,我希望能够使用我自己的类(派生自Zend_Validate_NotEmpty)来执行非空检查。 最佳答案
我有一个显示两个提交按钮的表单。第一个提交按钮将$form_state['storage']设置为一个值。然后第二个提交按钮读取这个$form_state['storage']值。如果设置了该值,则会显示一条成功消息。如果未设置该值,则会显示一条失败消息。这是将重现我的问题的代码:functionmymodule_test_admin(){returndrupal_get_form('mymodule_test_form');}functionmymodule_test_form(&$form_state){$form['mymodule_test_form1']=array('#ty
目前,我的ZendForm上的错误消息在元素下方呈现如下:Apasswordisrequired.我不喜欢这样。我怎样才能让它变成这样:Apasswordisrequired.我尝试过的事情:删除并重新声明错误装饰器:$password->removeDecorator("Errors");$password->addDecorator("Errors",array("tag"=>"div"));不起作用;我明白了:Apasswordisrequired.包装其他HtmlTagErrors周围的装饰器装饰器。所有这一切只是将样式添加到列表中。例如,我尝试添加标签,但不是替换列表,而是将
我使用Zend-Form在我的项目中生成我的表单。第一:如何在同一页面处理多个表单,并且只发布提交的表单?第二:当我在同一个页面上有两个表单时,token将只验证HTML中最顶层的呈现表单。第二种形式出现“token不匹配”错误,从而使该形式无法发布。您如何为每个表单提供一个不与其他表单冲突的唯一token?真诚的,为什么 最佳答案 WhenIhavetwoformsonthesamepagethetokenwillonlyvalidatethetopmostrenderedformintheHTML.Thesecondformwi
在我的PhotosController中,我试图修改编辑操作,以便它在Form::file()输入字段中显示现有值(并且,如果验证失败,它会重新填充该字段)。if($validation->passes()){//savestheimageontheFSandupdatesthedbentry}returnRedirect::route('photos.edit')->withInput(Input::all())->withErrors($validation)->with('message','Therewerevalidationerrors.');上传过程正常,但当我查看现有记
在我的服务器(运行PHP5.4)上,我有一种从数据库连接对象传递表单的通用方法。有些对象会有文件输入,有些则没有。我宁愿总是设置enctype="multipart/form-data"而不是抓取表单(或数据库对象)来查看它是否包含并有条件地执行。我用这样的形式测试了它并且接收到的数据与我将enctype留空时完全相同(来自$_POST参数)。所以,我的测试表明没问题,但有什么理由让我应该放弃enctype="multipart/form-data"对于不包含文件的表单提交? 最佳答案 简短的回答:是的。稍微长一点的答案:是的,但是
当用户点击“后退”按钮时,阻止重新处理表单的最佳方法是什么?我正在关注Post/Redirect/Getpattern,所以如果按F5我没有问题,但后退按钮仍然提供重新提交表单的机会。如果这个表单是信用卡处理页面,那就不好了。有人问过这个问题here,但是措辞和答案质量很差,而且不完全针对这个问题。我有form.php提交给自己。如果提交时输入数据没有错误,用户将被重定向到form_thanks.php。重新提交form.php(糟糕!)后回击(和“发送”或“重新提交”),然后将它们带回form_thanks.php。如果可能,还请包括不涉及使用session的解决方案。
我正在尝试设置一个带有2个按钮的表单-在页面delete.php上运行的“DELETE”和在edit.php上运行的“EDIT”。所以我需要根据他们点击的按钮采取不同的操作...这是我的代码。$con=mysql_connect("localhost","user","password");if(!$con){die('Couldnotconnect:'.mysql_error());}mysql_select_db("test",$con);$result=mysql_query("SELECT*FROMmyTable");//Needtochangetheactiondependi
我有一个这样扩展Zend_Form的类(简化):classCore_FormextendsZend_Form{protectedstatic$_elementDecorators=array('ViewHelper','Errors',array('Label'),array('HtmlTag',array('tag'=>'li')),);publicfunctionloadDefaultDecorators(){$this->setElementDecorators(self::$_elementDecorators);}}然后我使用该类来创建我所有的表单:classExampleF