php - 如何在 symfony2 验证器中允许空值

标签 php validation symfony

我想仅在值不为空时对对象属性应用验证器。

现在标准的 symfony 行为:

class Entity
{
    /**
     * @ORM\Column(type="string", nullable=true)
     * @Assert\Email()
     */
    protected $email;
    (...)
}

如果电子邮件为 null 或空字符串,该对象将不会通过验证,有没有办法告诉验证器断言为有效的空值,并且仅在字段有数据时验证?

PS 我知道我可以编写回调验证器,但是为每个字段编写回调只是为了拥有“allowEmpty”功能并不是那么好。

最佳答案

您必须在 FormBuilder 类中为所有可选字段显式设置 'required' => false。这里有一段描述field type options .


编辑。获得不少反对票。默认情况下,all 验证器将 null 值视为有效值,except NotNullNotEmpty。两个都没有在问题中使用。问题隐含地是关于如何关闭默认打开的客户端 required 属性。

关于php - 如何在 symfony2 验证器中允许空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7519214/

相关文章:

php - "Real"使用 Doctrine/MySQL 删除孤儿

php - 如何制作页眉和页脚文件以包含在多个页面中

ubuntu 中的password_verify 出现 php 错误,但在 xampp 上工作正常

php - 如果用户输入错误的电子邮件或密码,Laravel 5.2 会重定向

c# - 错误输入后文本框空白有效值 - WPF

java - 如何Spring @requestparam验证字符串在字符串列表中

symfony - HTTPS 和 SSL 证书

php - jQuery 按类调整文档上所有图像的大小

php - 获取具有相同值的 MySQL 单元的合并总数 :

javascript - 使用 javascript 或 jquery 验证价格范围