php - 在 Symfony 2 类型中禁用选择字段的后端验证

标签 php forms validation symfony types

是否可以禁用指定字段的后端(服务器端)验证?

当我尝试发送带有动态加载选项的表单时,我收到错误“错误:此值无效。”

我认为 symfony 正在检查我的值是否在默认声明列表中(在我的例子中是空列表),如果不在则返回 false。

最佳答案

这很令人困惑,但这种行为实际上与验证无关,因为它是由“ChoiceToValueTransformer”引起的,它确实在您预先声明的列表中搜索条目。如果您的列表为空或者您想禁用转换器,您只需将其重置即可。

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('yourField', 'choice', array('required'=>false));

    //more fields...

    $builder->get('yourField')->resetViewTransformers();
}

然后您的自定义验证将介入(如果存在)。

关于php - 在 Symfony 2 类型中禁用选择字段的后端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706719/

相关文章:

php - Android - wampserver 上的 MySQL 连接错误

php - 根据选择框选项用 MySQL 值填充其他文本输入

Java Play获取下拉框的值并将其放入Form对象中

jquery - jquery validate 错误放置问题

php - Laravel 5.2 验证工作正常,但 $errors 变量为空

javascript - jQuery 验证 - 多个输入字段 - 有些是必需的

PHP日期问题

php - 使用 PHP 动态提供 Google Analytics 代码

forms - 无法按要求设置表单字段实体(多对多)

javascript - Vue : Best approach to access possible existing nested properties in error object