Symfony1 symfony验证问题

Symfony1 symfony验证问题,symfony1,Symfony1,im正在测试symfony表单验证 问题很简单 无论我在正文文本区域中输入什么内容并发布,我都会不断得到“必需”的回复 我不知道为什么 我只有一条验证规则 代码如下: 有什么问题/如何调试 谢谢 更新:它与控制器中的绑定有关 因为即使我删除了验证,表单仍将无效,它将被传递到模板,但这次没有“必需” 因此,无论我是否得到验证,它都是无效的 它可能与embedForm()有关?已验证嵌入表单的人 我已将错误消息打印出来 <? foreach ($form->getErrorSchema

im正在测试symfony表单验证

问题很简单

无论我在正文文本区域中输入什么内容并发布,我都会不断得到“必需”的回复

我不知道为什么

我只有一条验证规则

代码如下:

有什么问题/如何调试

谢谢

更新:它与控制器中的绑定有关

因为即使我删除了验证,表单仍将无效,它将被传递到模板,但这次没有“必需”

因此,无论我是否得到验证,它都是无效的

它可能与embedForm()有关?已验证嵌入表单的人

我已将错误消息打印出来

<?
foreach ($form->getErrorSchema() as $field => $error) {
    printf("%s: %s\n", $field, $error->getMessage());
    echo "<br />";
}
?>
他们的意思是需要螺纹:阀体还是需要csrf


谢谢

您是否检查了通过POST发送的参数

在表单设置方法中添加以下内容可能会有所帮助:

$this->widgetSchema->setNameFormat('thread[%s]');

首先,尝试在没有具体内容的情况下重复表单,例如:

<?php echo $form; ?>

如果这是可行的,那么这与表单回显代码有关。我建议检查该页面的HTML源代码,查看默认表单代码呈现的内容,并将其与上面代码输出的内容进行比较。如果字段的名称不同,那么答案就在这里——它可以是Radu建议的表单名称格式

另请注意,不要忘记使用:

<?php echo $form->renderHiddenFields(); ?>


以及在模板中,以便呈现CSRF令牌字段。这将删除您的“\u csrf\u令牌:必需”表单错误。

我懒得亲自检查,所以。。。
textarea
name
属性是什么?是
thread[body]
还是
body
?--删除注释--刚刚看到您的更新
<?php echo $form->renderHiddenFields(); ?>