加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 基于Symfony2中其他字段值的字段条件验证

发布时间:2020-12-13 13:12:15 所属栏目:PHP教程 来源:网络整理
导读:所以这是场景:我有一个单选按钮组.基于它们的价值,我应该或不应该验证其他三个字段(它们是空白的,它们是否包含数字等). 我可以以某种方式将所有这些值传递给约束,并在那里进行比较吗? 或者直接在控制器中回调是解决这个问题的更好方法吗? 一般来说,这种情
所以这是场景:我有一个单选按钮组.基于它们的价值,我应该或不应该验证其他三个字段(它们是空白的,它们是否包含数字等).

我可以以某种方式将所有这些值传递给约束,并在那里进行比较吗?

或者直接在控制器中回调是解决这个问题的更好方法吗?

一般来说,这种情况下的最佳做法是什么?

我建议你使用 callback validator.

例如,在您的实体类中:

<?php

use SymfonyComponentValidatorConstraints as Assert;

/**
 * @AssertCallback(methods={"myValidation"})
 */
class Setting {
    public function myValidation(ExecutionContextInterface $context)
    {
        if (
                $this->getRadioSelection() == '1' // RADIO SELECT EXAMPLE
                &&
                ( // CHECK OTHER PARAMS
                 $this->getFiled1() == null
                )
            )
        {
            $context->addViolation('mandatory params');
        }
       // put some other validation rule here
    }
}

否则,您可以按照here所述构建自己的自定义验证器.

让我知道您需要更多信息.

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读