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