/** * {@inheritDoc} */ public function buildRules(RulesChecker $rules) { $rules->addCreate(function () { return $this->find()->count() < 25; }, 'maximumAmount'); return parent::buildRules($rules); }
/** * 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')); }