借助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);
编码愉快!
评论前必须登录!
注册