【问题标题】:Respect/Validation - Add more rules if some condition is met尊重/验证 - 如果满足某些条件,则添加更多规则
【发布时间】:2021-12-21 04:28:39
【问题描述】:

如果满足某些条件,我会尝试找到适当的逻辑,以便在之前的规则集(已经定义)上添加更多规则。

$form_validation_rules = v::key('password_current', v::length(6))
->key('password', v::length(6))
->key('password_confirm', v::length(6))
->equals($_POST['password'])->validate('password_confirm');

if($this->admin_role->owner === 1) {
   $form_validation_rules->key('username', v::length(3))->key('username', v::alnum());
}

在上面,设置了第一组规则,如果满足 $this->admin_role->owner === 1 条件,则添加更多规则。输出当然是 Error: Call to a member function key() on bool

我的问题是:我以后如何在代码中(基于各种逻辑条件)扩展现有的规则集?

提前谢谢你!

【问题讨论】:

    标签: php respect-validation


    【解决方案1】:

    没关系 :) 我的代码逻辑错误。这是工作方式:

    $form_validation_rules = v::key('password_current', v::length(6))
                ->key('password', v::length(6))
                ->keyValue('password_confirm', 'equals', 'password');
    
            if($this->admin_role->owner === 1) {
                $form_validation_rules->key('username', v::length(3))->key('username', v::alnum());
            }
    

    在我的初始版本中,equals() 的用法是错误的。此外,keyValue() 方法可以节省时间:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多