【问题标题】:Multiple business rules per Table in CakephpCakephp 中每个表的多个业务规则
【发布时间】:2018-10-28 13:02:19
【问题描述】:

在表格上,我们可以有许多不同的验证,我们可以随意调用:

public function validationDefault(Validator $validator)
{
    $validator
        ->requirePresence('title', 'create')
        ->notEmpty('title');

    $validator
        ->allowEmpty('link')
        ->add('link', 'valid-url', ['rule' => 'url']);

    ...

    return $validator;
}

public function validationUpdate($validator)
{
    $validator
        ->add('title', 'notEmpty', [
            'rule' => 'notEmpty',
            'message' => __('You need to provide a title'),
        ])
        ->add('body', 'notEmpty', [
            'rule' => 'notEmpty',
            'message' => __('A body is required')
        ]);
    return $validator;
}

然后我们可以这样称呼它:

$article = $articles->newEntity(
    $this->request->getData(),
    ['validate' => 'update']
);

我的问题是,我正在构建一个自定义购物车,我想检查用户是否有产品,因此适合作为业务规则而不是数据验证。但我需要“手动”调用它(例如,不是通过save() 操作),因为我只需要在一些不改变用户数据的地方检查它。 而且,关于业务规则,书中提供的唯一例子就是把它们放在buildRules()方法中。

那么,有没有办法拥有多个业务规则,例如如何完成数据验证,并称之为“手动”?

【问题讨论】:

    标签: validation cakephp cakephp-3.0 cakephp-3.x


    【解决方案1】:

    【讨论】:

    • 是的,但我的问题是是否有任何方法可以在多个函数上编写业务规则并分别调用它们,就像验证规则一样
    • 您是否费心查看我的链接?第三个正是这样做的!
    猜你喜欢
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 2023-03-26
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多