Php SFValidatorSchema是否与自己的值相比较?
这将比较表单中的两个值。 我想与自己的价值观进行比较:Php SFValidatorSchema是否与自己的值相比较?,php,symfony1,symfony-1.4,Php,Symfony1,Symfony 1.4,这将比较表单中的两个值。 我想与自己的价值观进行比较: $this->validatorSchema->setPostValidator(new sfValidatorAnd(array( new sfValidatorSchemaCompare('email', '==', 'email_confirm', array(), array('invalid' => 'The email adresses must ma
$this->validatorSchema->setPostValidator(new sfValidatorAnd(array(
new sfValidatorSchemaCompare('email', '==', 'email_confirm',
array(),
array('invalid' => 'The email adresses must match')
),
new sfValidatorSchemaCompare('password', '==', 'password_confirm',
array(),
array('invalid' => 'The passwords must match')
),
)));
sfValidatorSchemaCompare
比较两个字段中输入的值(如第一个示例中所示)。
例如:它测试密码
是否与密码_确认
值匹配。在这种情况下,password
和password\u confirm
必须是表单中的字段(确切地说是验证器)
在您的情况下,您需要检查密钥是否与预定义值匹配,而不是另一个字段。
这有点奇怪,默认情况下symfony没有验证器来检查这一点。但您可以轻松使用sfvalidator选项
实现您的目标:
new sfValidatorSchemaCompare('secret_key', '==', '123456',
array(),
array('invalid' => 'The secret key must match')
),
How can i make it?
在这种情况下,在secret\u key
中输入的值与仅包含您的密钥的值列表相匹配
还有一点“专业提示”;-):将密钥添加到app.yml,然后只需添加sfConfig::get('app\u form\u secret\u key')
即可进行测试
$this->validatorSchema['secret_key'] = new sfValidatorChoice(array('choices' => array('123456')));