Validation 在空表单字段上触发条令电子邮件验证

Validation 在空表单字段上触发条令电子邮件验证,validation,symfony1,doctrine,Validation,Symfony1,Doctrine,我不希望表单中的空电子邮件字段触发 条令验证程序例外。但是,由于Doctrine_Validator_电子邮件使用 “is_null()”以检查空(不存在)值(以及POST ['email']包含一个空字符串),它确实包含 这是正确的吗?有没有一个简单的方法 当尝试将列设置为唯一列(尝试 在列中存储第二个空字符串(触发验证程序) 我错过了什么 提前感谢,, 埃兰维恩克酒店 (Symfony 1.4.1/Doctrine 1.2)有几种方法未经测试,但似乎共同或单独工作: 1) $this->va

我不希望表单中的空电子邮件字段触发 条令验证程序例外。但是,由于Doctrine_Validator_电子邮件使用 “is_null()”以检查空(不存在)值(以及POST ['email']包含一个空字符串),它确实包含

这是正确的吗?有没有一个简单的方法

当尝试将列设置为唯一列(尝试 在列中存储第二个空字符串(触发验证程序)

我错过了什么

提前感谢,, 埃兰维恩克酒店


(Symfony 1.4.1/Doctrine 1.2)

有几种方法未经测试,但似乎共同或单独工作:

1)
$this->validatorSchema['email']=null

2)
$this->validatorSchema['email']=sfValidatorPass()

3)
$this->validatorSchema->setOption('allow\u extra\u fields',true)

4) 只需将
required
属性设置为
false

$this->widgetSchema['email'] = sfWidgetFormInputText(array('required' => false));

有几种方法未经测试,但似乎可以一起使用或单独使用:

1)
$this->validatorSchema['email']=null

2)
$this->validatorSchema['email']=sfValidatorPass()

3)
$this->validatorSchema->setOption('allow\u extra\u fields',true)

4) 只需将
required
属性设置为
false

$this->widgetSchema['email'] = sfWidgetFormInputText(array('required' => false));

我在我们的条令1.2应用程序中遇到了同样的问题。在我的例子中,修复程序最终将此解决方法添加到记录的
merge()
方法:

    $this->email = trim($this->email);
    if ($this->email == '') {
        $this->email = null;
    }

我在我们的条令1.2应用程序中遇到了同样的问题。在我的例子中,修复程序最终将此解决方法添加到记录的
merge()
方法:

    $this->email = trim($this->email);
    if ($this->email == '') {
        $this->email = null;
    }

谢谢,但是sf验证器不是问题所在。您的示例中似乎也存在一些错误(“小部件上的必需”选项就是其中之一)。谢谢,但sf验证器不是问题所在。在您的示例中似乎还存在一些错误(“小部件上的必需”选项就是其中之一)。