public function buildRules(RulesChecker $rules) { $rules->add($rules->existsIn('character_id', 'characters')); $rules->add($rules->existsIn('skill_id', 'skills')); $rules->addCreate([$this, 'addRelations']); $rules->addCreate([$this, 'disallowDeprecated']); $rules->addCreate([$this, 'hasXPAvailable']); return $rules; }
/** * Application rules. * * @param \Cake\ORM\RulesChecker $rules The rule checker * @return \Cake\ORM\RulesChecker */ public function buildRules(RulesChecker $rules) { // check max instances limit $rules->addCreate(function ($instance, $options) { $info = (array) $instance->info(); if (isset($info['maxInstances']) && $info['maxInstances'] > 0) { if (!$instance->get('eav_attribute')) { return false; } $count = $this->find()->select(['FieldInstances.id', 'FieldInstances.handler', 'EavAttribute.id', 'EavAttribute.table_alias'])->contain(['EavAttribute'])->where(['EavAttribute.table_alias' => $instance->get('eav_attribute')->get('table_alias'), 'FieldInstances.handler' => $instance->get('handler')])->count(); return $count <= intval($info['maxInstances']) - 1; } return true; }, 'maxInstances', ['errorField' => 'label', 'message' => __d('field', 'No more instances of this field can be attached, limit reached.')]); return $rules; }
/** * * @param RulesChecker $rules */ public function buildRules(RulesChecker $rules) { $rules->addCreate($rules->isUnique(['name']), 'uniqueName', ['message' => 'Już istnieje taka rola']); return $rules; }
/** * * @param RulesChecker $rules */ public function buildRules(RulesChecker $rules) { $rules->addCreate($rules->isUnique(['username']), 'uniqueUsername', ['message' => 'Już istnieje taki login']); return $rules; }