Php Symfony 2表格-比较两个字段
我的项目中有这样的代码:Php Symfony 2表格-比较两个字段,php,symfony,Php,Symfony,我的项目中有这样的代码: ->add('email', 'text', array( 'translation_domain' => 'KlientRejestracja', 'label' => 'E-mail (login):', 'constraints' => array( new NotBlank(array('message' => 'emailisNotValid')), new Email(ar
->add('email', 'text', array(
'translation_domain' => 'KlientRejestracja',
'label' => 'E-mail (login):',
'constraints' => array(
new NotBlank(array('message' => 'emailisNotValid')),
new Email(array('message' => 'emailisNotValid')),
)
))
->add('nick', 'text', array(
'label' => 'Podaj pseudonim<span style="color: red">*</span>:',
'translation_domain' => 'KlientRejestracja',
'required' => false,
'empty_data' => '',
'constraints' => array(
new NotEqualTo(array('value' => '??????','message' => 'imieisNotValid'))
)
))
->添加('email','text',数组(
“translation_domain”=>“KlientRejestracja”,
'标签'=>'电子邮件(登录):',
'约束'=>数组(
新建NotBlank(数组('message'=>'emailisNotValid')),
新电子邮件(数组('message'=>'emailisNotValid')),
)
))
->添加('nick','text',数组(
'label'=>'Podaj pseudonim*:',
“translation_domain”=>“KlientRejestracja”,
“必需”=>false,
“空_数据”=>“”,
'约束'=>数组(
新的NotEqualTo(数组('value'=>'???','message'=>'imeisnotvalid'))
)
))
如何比较“email”和“nick”字段,以检查它们是否不相同?
我尝试使用NotEqualTo,但我不知道比较值应该是什么。将回调验证器添加到数据类
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Context\ExecutionContextInterface;
class xxx
{
...
/**
* @Assert\Callback()
*/
public function validate(ExecutionContextInterface $context, $payload)
{
if ($this->email == $this->nick) {
$context->buildViolation('error text')
->atPath('email')
->addViolation();
}
}
...
}
一种非常简单且严格的方法是使用表达式语言的断言,它不需要回调或自定义验证器。听起来很复杂,但事实并非如此——请参见示例
该示例使用注释,但正如您在上面所写,您使用的是
data\u class
,您应该能够在表单类型中执行相同的操作。您是否将此表单与数据类一起使用?是的,我使用的数据类正如Max所说,您可以使用回调或