【问题标题】:Dynamically assign validation parameters in Respect Validations在 Respect Validations 中动态分配验证参数
【发布时间】:2018-04-06 16:41:25
【问题描述】:

我最初的问题是如何进行 Respect 验证的动态链接。

我的实现如下,

    $validator = v::notEmpty();

    foreach ($validations as $validation) {
        $variable = (string)$validation['validatorName'];
        if (sizeof($validation['params']) > 0) {
            $validator = $validator->$variable($validation['params'][0],$validation['params'][1]);
        } else {
            $validator = $validator->$variable();
        }
   }

当验证有参数时,我所做的方式是错误的,因为如果有超过 2 个参数,则会失败。所以我想要的是根据每个验证接受多少参数来动态分配参数。这就像动态链接验证。

【问题讨论】:

  • 您能否通过修正语法来改进您的问题,用代码显示您想要做什么以及您想要使用的验证器?
  • @DavidePastore 是的,我会这样做的。

标签: php validation respect-validation


【解决方案1】:

乍一看,我不确定这是否是个好主意。但是我不知道您要解决的问题,如果您确实需要从数组创建验证器,您可以使用call_user_func()call_user_func_array()

类似:

$validator = v::notEmpty();
foreach ($validations as $validation) {
    call_user_func_array(
        [$validator, $validation['validatorName']],
        $validation['params']
    );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 2021-12-07
    • 2020-02-12
    • 2016-10-02
    • 2015-12-13
    • 2016-11-11
    • 2020-05-09
    • 2014-12-03
    相关资源
    最近更新 更多