首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将方法上的断言绑定到属性

将方法上的断言绑定到属性
EN

Stack Overflow用户
提问于 2015-11-25 08:44:18
回答 1查看 54关注 0票数 2

我有一个方法,验证了某些输入的组合是有效的(例如,选择了老年人-折扣选项,生日显示年龄在n以上)。

代码语言:javascript
复制
/**
 * @Assert\True(message="you are too young for this option")
 */
public function isElderlyOptionValid()
{
    return 
    ($this->getElderlyOption() && $this->getAgeFromBirthday() <= 60);
}

现在,我希望将错误显示给老年人-折扣选项,而不是作为实体/表单的一般错误。所以我需要这样的东西:

代码语言:javascript
复制
/**
 * @Assert\True(message="you are too young for this option", bindTo="elderlyOption")
 */
public function isElderlyOptionValid()
{
    return 
    ($this->getElderlyOption() && $this->getAgeFromBirthday() <= 60);
}

我确实读过一次,这是可能的,但不能再次找到这篇文章。

EN

回答 1

Stack Overflow用户

发布于 2015-12-30 05:23:09

UniqueEntity有error_path并在UniqueEntityValidator中使用atPath,但我认为不可能为所有验证器更改路径。

也许您可以扩展这个验证器并添加atPath功能,但是

也许是这就是你要找的。表单具有error_mapping属性,您可以将错误“重定向”到字段。

代码语言:javascript
复制
public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'error_mapping' => array(
            'matchingCityAndZipCode' => 'city',
        ),
    ));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33911901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档