我有一个Customer实体,它只有一个唯一的电子邮件字段.我正在尝试编辑客户的电子邮件,验证工作正常.但是我在我的控制器中有这个:
public function updateAction(Request $request, $id) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('AcmeDemoBundle:Customer')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Customer entity.');
}
$editForm = $this->createForm(new CustomerType(), $entity);
$editForm->bind($request);
if ($editForm->isValid()) {
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('ticket_result'));
}
var_dump($editForm->getErrors());
return $this->render('AcmeDemoBundle:Customer:edit.html.twig', array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
));
}
Run Code Online (Sandbox Code Playgroud)
var_dump返回一个空数组,但验证器设置一个唯一错误,$editForm->isValid()返回false.有没有办法在验证期间检查控制器中的特定错误,还能解释它返回空错误数组的原因吗?基本上,如果出现错误,我想提供"合并"选项.
编辑:这是formtype:
namespace Acme\DemoBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class CustomerType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('email', 'email', array('required'=>true))
;
} …Run Code Online (Sandbox Code Playgroud) 我刚开始进入Phalcon,但我有错误显示和各种错误处理的问题.
在我的bootstrap文件中
$listener = new \Phalcon\Debug();
$listener->listen();
Run Code Online (Sandbox Code Playgroud)
哪个似乎没有生成任何东西.我已经明确地编写了一个错误:
public function indexAction() {
$recentPackages = Package::find(1,2,3,
array(
"order" => "updated DESC",
"limit" => 10)
);
$this->view->setVar("recentPackages", $recentPackages);
}
Run Code Online (Sandbox Code Playgroud)
但是,出现的错误只是一个白页,其中包含:
Wrong number of parameters
Run Code Online (Sandbox Code Playgroud)
我正在运行Phalcon 1.2.4.还有其他我想念的东西吗?我按照这里的文档,但似乎无法让它工作.