/**
  * {@inheritDoc}
  */
 public function buildRules(RulesChecker $rules)
 {
     $rules->addCreate(function () {
         return $this->find()->count() < 25;
     }, 'maximumAmount');
     return parent::buildRules($rules);
 }
Example #2
0
 /**
  * Test adding rule for create mode
  *
  * @return void
  */
 public function testAddingRuleCreateMode()
 {
     $entity = new Entity(['name' => 'larry']);
     $rules = new RulesChecker();
     $rules->addCreate(function () {
         return false;
     }, 'ruleName', ['errorField' => 'name']);
     $this->assertTrue($rules->check($entity, RulesChecker::UPDATE));
     $this->assertEmpty($entity->errors());
     $this->assertTrue($rules->check($entity, RulesChecker::DELETE));
     $this->assertEmpty($entity->errors());
     $this->assertFalse($rules->check($entity, RulesChecker::CREATE));
     $this->assertEquals(['ruleName' => 'invalid'], $entity->errors('name'));
 }