个性化阅读
专注于IT技术分析

如何在Symfony 1.4中获取并显示无效表单的所有错误

借助Symfony 1.4中使用的模型和表单类, 你将能够验证表单数据是否是后端所需的数据, 以防止在向数据库中插入数据时出现异常。提交表单并由流程操作处理数据时, 最常见的问题之一是, 当表单无效时, 你将得到一个乏味的错误, 即变量不存在, 例如, 检查以下代码:

<?php 

protected function processForm(sfWebRequest $request, sfForm $form)
{
    $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));

    if ($form->isValid())
    {
        $horarios = $form->save();

        $this->redirect('horarios/index');
    }
}

第一个问题是, 提交后你需要知道表单中存在哪些错误。通常, 你可以在项目的开发环境中使用调试工具栏调试表单的错误模式, 但是由于编程模式的原因, 有时你将无法使用调试栏。

当表单无效时, getErrorSchema方法将包含你需要了解的信息, 以了解为什么无法处理表单:

<?php 

$errors = array();

foreach ($form->getErrorSchema() as $key => $err) {  
    if ($key) {  
        $errors[$key] = $err->getMessage();  
    }  
}

// Display the array to see the form errors
var_dump($errors);

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何在Symfony 1.4中获取并显示无效表单的所有错误

评论 抢沙发

评论前必须登录!