コード例 #1
0
 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;
 }
コード例 #2
0
 /**
  * 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;
 }
コード例 #3
0
ファイル: RolesTable.php プロジェクト: bartekpie3/cakeAdmiin
 /**
  * 
  * @param RulesChecker $rules
  */
 public function buildRules(RulesChecker $rules)
 {
     $rules->addCreate($rules->isUnique(['name']), 'uniqueName', ['message' => 'Już istnieje taka rola']);
     return $rules;
 }
コード例 #4
0
ファイル: UsersTable.php プロジェクト: bartekpie3/cakeAdmiin
 /**
  * 
  * @param RulesChecker $rules
  */
 public function buildRules(RulesChecker $rules)
 {
     $rules->addCreate($rules->isUnique(['username']), 'uniqueUsername', ['message' => 'Już istnieje taki login']);
     return $rules;
 }