cakephp buildRules

// In src/Model/Table/OrdersTable.php
public function buildRules(RulesChecker $rules)
{
  $check = function($order) {
    if($order->shipping_mode !== 'free') {
      return true;
    }
    return $order->price >= 100;
  };
  $rules->add($check, [
      'errorField' => 'shipping_mode' ,
      'message' => 'Nie ma bezpłatnej dostawy poniżej 100zł'
  ]);
  return $rules;
}

// W kontrolerze
$order->price = 50;
$order->shipping_mode = 'free' ;
$ordersTable->save($order); // Returns false

Dodaj komentarz