rules() публичный Метод

public rules ( )
Пример #1
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge([[['searchModelClass', 'searchNs', 'queryNs', 'ns'], 'trim'], [['searchNs', 'queryNs', 'ns'], 'filter', 'filter' => function ($value) {
         return trim($value, '\\');
     }], [['searchNs'], 'filter', 'filter' => function ($value) {
         return $value === '' ? $this->ns . '\\search' : $value;
     }], [['queryNs'], 'filter', 'filter' => function ($value) {
         return $value === '' ? $this->ns . '\\query' : $value;
     }]], parent::rules(), [[['searchNs'], 'required'], [['searchModelClass'], 'match', 'pattern' => '/^[\\w\\\\]*$/', 'message' => 'Only word characters and backslashes are allowed.'], [['searchNs'], 'match', 'pattern' => '/^[\\w\\\\]+$/', 'message' => 'Only word characters and backslashes are allowed.'], [['searchModelClass'], 'validateModelClass'], [['searchNs'], 'validateNamespace'], [['singularModelClass'], 'boolean']]);
 }
Пример #2
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     $rules = [];
     foreach (parent::rules() as $rule) {
         if (!is_array($rule[0])) {
             $rule[0] = [$rule[0]];
         }
         if ($rule[1] == 'required') {
             $rule[0] = array_diff($rule[0], ['queryNs']);
         }
         if (count($rule[0])) {
             $rules[] = $rule;
         }
     }
     return array_merge($rules, [[['includeFilter', 'excludeFilter'], 'filter', 'filter' => 'trim'], [['includeFilter', 'excludeFilter'], 'required'], [['includeFilter', 'excludeFilter'], 'validatePattern'], [['ns'], 'match', 'pattern' => '~\\\\base$~'], [['modelClass'], 'match', 'pattern' => '~Base$~'], [['baseClass'], 'validateClass', 'params' => ['extends' => 'yii\\boost\\db\\ActiveRecord']], [['queryNs'], 'default', 'value' => function (Generator $model, $attribute) {
         return preg_replace('~\\\\base$~', '\\query\\base', $model->ns);
     }], [['queryNs'], 'match', 'pattern' => '~\\\\query\\\\base$~'], [['queryClass'], 'match', 'pattern' => '~QueryBase$~'], [['queryBaseClass'], 'validateClass', 'params' => ['extends' => 'yii\\boost\\db\\ActiveQuery']]]);
 }
Пример #3
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['generateModelClass', 'useTranslatableBehavior'], 'boolean'], [['languageTableName', 'languageCodeColumn'], 'string'], [['tablePrefix'], 'safe']]);
 }
Пример #4
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['createBaseModel', 'hideExistingBaseModel', 'isSeo'], 'boolean']]);
 }
Пример #5
0
 /**
  * {@inheritdoc}
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['generateModelClass', 'useTranslatableBehavior', 'generateHintsFromComments', 'useBlameableBehavior', 'useTimestampBehavior', 'singularEntities'], 'boolean'], [['languageTableName', 'languageCodeColumn', 'createdByColumn', 'updatedByColumn', 'createdAtColumn', 'updatedAtColumn', 'savedForm'], 'string'], [['tablePrefix'], 'safe']]);
 }
Пример #6
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['relationClassName'], 'validateClass', 'params' => ['extends' => ActiveQuery::className()]]]);
 }
Пример #7
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['generateNMRelatedFunction'], 'boolean']]);
 }
Пример #8
0
 /**
  * {@inheritdoc}
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['baseNs'], 'filter', 'filter' => 'trim'], [['baseNs'], 'filter', 'filter' => function ($value) {
         return trim($value, '\\');
     }], [['baseNs'], 'required'], [['baseNs'], 'match', 'pattern' => '/^[\\w\\\\]+$/', 'message' => 'Only word characters and backslashes are allowed.'], [['baseNs'], 'validateNamespace']]);
 }
Пример #9
0
 public function rules()
 {
     return array_merge(parent::rules(), [[['tableNameHelper'], 'safe']]);
 }
Пример #10
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['db', 'ns', 'tableName', 'moduleName', 'modelClass', 'baseClass'], 'filter', 'filter' => 'trim'], [['db', 'ns', 'tableName', 'baseClass'], 'required'], [['db', 'modelClass'], 'match', 'pattern' => '/^\\w+$/', 'message' => 'Only word characters are allowed.'], [['ns', 'baseClass'], 'match', 'pattern' => '/^[\\w\\\\]+$/', 'message' => 'Only word characters and backslashes are allowed.'], [['tableName'], 'match', 'pattern' => '/^(\\w+\\.)?([\\w\\*]+)$/', 'message' => 'Only word characters, and optionally an asterisk and/or a dot are allowed.'], [['db'], 'validateDb'], [['ns'], 'validateNamespace'], [['tableName'], 'validateTableName'], [['modelClass'], 'validateModelClass', 'skipOnEmpty' => false], [['baseClass'], 'validateClass', 'params' => ['extends' => ActiveRecord::className()]], [['generateRelations', 'generateLabelsFromComments'], 'boolean'], [['enableI18N'], 'boolean'], [['messageCategory'], 'validateMessageCategory', 'skipOnEmpty' => false]]);
 }
Пример #11
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['useMessages'], 'boolean']]);
 }
 public function rules()
 {
     return array_merge(parent::rules(), [[['iconName'], 'match', 'pattern' => '/^[\\w-]+$/', 'message' => 'Only word characters and \'-\' are allowed.']]);
 }
Пример #13
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     $rules = parent::rules();
     GxModelHelper::removeValidationRules($rules, 'required', ['queryNs']);
     GxModelHelper::removeValidationRules($rules, 'validateMessageCategory', ['messageCategory']);
     GxModelHelper::removeValidationRules($rules, 'validateModelClass', ['modelClass']);
     return ArrayHelper::merge([[['modelClass'], 'validateModelClass', 'skipOnEmpty' => true], [['recordPrintAttr'], 'validateRecordPrintAttr', 'skipOnEmpty' => true], [['messageCategory'], 'validateMessageCategory', 'skipOnEmpty' => true], [['generateMutation', 'generateSluggableBehavior', 'sluggableBehaviorEnsureUnique', 'sluggableBehaviorImutable', 'generateTimestampBehavior', 'generateGalleryBehavior', 'generateSortableBehavior'], 'boolean'], [['mutationJoinTableName', 'mutationSourceTableName'], 'filter', 'filter' => 'trim'], [['mutationJoinTableName', 'mutationSourceTableName'], 'required', 'when' => function ($model) {
         return $model->generateMutation;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generatemutation').is(':checked');\n                    }"], [['mutationIgnoredFormAttributes'], 'validateAttributeExistence', 'params' => ['tblAttr' => 'mutationJoinTableName'], 'when' => function ($model) {
         return trim($model->mutationIgnoredFormAttributes);
     }], [['mutationJoinTableName', 'mutationSourceTableName'], 'match', 'pattern' => '/^(\\w+\\.)?([\\w\\*]+)$/', 'message' => 'Only word characters, and optionally an asterisk and/or a dot are allowed.'], [['mutationJoinTableName', 'mutationSourceTableName'], 'validateTableName'], [['sluggableBehaviorSourceAttribute', 'sluggableBehaviorTargetAttribute'], 'required', 'when' => function ($model) {
         return $model->generateSluggableBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generatesluggablemutation').is(':checked');\n                    }"], [['sluggableBehaviorSourceAttribute', 'sluggableBehaviorTargetAttribute'], 'validateAttributeExistence', 'params' => ['tblAttr' => 'tableName'], 'when' => function ($model) {
         return $model->generateSluggableBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generatesluggablemutation').is(':checked');\n                    }"], [['timestampCreatedAtAttribute', 'timestampUpdatedAtAttribute'], 'validateAttributeExistence', 'params' => ['tblAttr' => 'tableName'], 'when' => function ($model) {
         return $model->generateTimestampBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generatetimestampbehavior').is(':checked');\n                    }"], [['timestampCreatedAtAttribute', 'timestampUpdatedAtAttribute'], 'required', 'when' => function ($model) {
         return $model->generateTimestampBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generatetimestampbehavior').is(':checked');\n                    }"], [['sortableIndexAttribute', 'sortableRestrictionsAttribute', 'sortableKeyAttribute'], 'string'], [['sortableColumnAttribute'], 'validateAttributeExistence', 'params' => ['tblAttr' => 'tableName'], 'when' => function ($model) {
         return $model->generateSortableBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generatesortablebehavior').is(':checked');\n                    }"], [['sortableIndexAttribute', 'sortableColumnAttribute'], 'required', 'when' => function ($model) {
         return $model->generateSortableBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generatesortablebehavior').is(':checked');\n                    }"], [['galleryTableName'], 'filter', 'filter' => 'trim'], [['galleryTableName'], 'validateTableName', 'when' => function ($model) {
         return $model->generateGalleryBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generategallerybehavior').is(':checked');\n                    }"], [['galleryTableName'], 'required', 'when' => function ($model) {
         return $model->generateGalleryBehavior;
     }, 'whenClient' => "function (attribute, value) {\n                        return \$('#generator-generategallerybehavior').is(':checked');\n                    }"]], $rules);
 }
Пример #14
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['labelField', 'timestampFields'], 'trim']]);
 }
Пример #15
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['createType'], 'in', 'range' => [self::TYPE_CREATE_QUERY, self::TYPE_MAGIC_QUERY, self::TYPE_ATTACH_BEHAVIOR]], [['saveDocType'], 'in', 'range' => [self::SAVE_DOC_TO_MODEL, self::SAVE_DOC_TO_AUTOCOMPLETE_FILE]]]);
 }
Пример #16
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['db', 'ns', 'tableName', 'modelClass', 'baseClass', 'queryNs', 'queryClass', 'queryBaseClass'], 'filter', 'filter' => 'trim'], [['ns', 'queryNs'], 'filter', 'filter' => function ($value) {
         return trim($value, '\\');
     }], [['db', 'ns', 'tableName', 'baseClass', 'queryNs', 'queryBaseClass'], 'required'], [['db', 'modelClass', 'queryClass'], 'match', 'pattern' => '/^\\w+$/', 'message' => 'Only word characters are allowed.'], [['ns', 'baseClass', 'queryNs', 'queryBaseClass'], 'match', 'pattern' => '/^[\\w\\\\]+$/', 'message' => 'Only word characters and backslashes are allowed.'], [['tableName'], 'match', 'pattern' => '/^([\\w ]+\\.)?([\\w\\* ]+)$/', 'message' => 'Only word characters, and optionally spaces, an asterisk and/or a dot are allowed.'], [['db'], 'validateDb'], [['ns', 'queryNs'], 'validateNamespace'], [['tableName'], 'validateTableName'], [['modelClass'], 'validateModelClass', 'skipOnEmpty' => false], [['baseClass'], 'validateClass', 'params' => ['extends' => ActiveRecord::className()]], [['queryBaseClass'], 'validateClass', 'params' => ['extends' => ActiveQuery::className()]], [['generateRelations'], 'in', 'range' => [self::RELATIONS_NONE, self::RELATIONS_ALL, self::RELATIONS_ALL_INVERSE]], [['generateLabelsFromComments', 'useTablePrefix', 'useSchemaName', 'generateQuery'], 'boolean'], [['enableI18N'], 'boolean'], [['messageCategory'], 'validateMessageCategory', 'skipOnEmpty' => false]]);
 }
Пример #17
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['relationsInMain'], 'boolean']]);
 }
Пример #18
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['queryNs', 'createdColumnName', 'updatedColumnName'], 'filter', 'filter' => 'trim'], [['queryNs'], 'filter', 'filter' => function ($value) {
         return trim($value, '\\');
     }], [['queryNs'], 'validateNamespace'], [['includeTimestampBehavior'], 'boolean']]);
 }
Пример #19
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['generateModelClass'], 'boolean'], [['blameableValue', 'timestampValue', 'createdAt', 'updatedAt', 'createdBy', 'updatedBy', 'createdTerminal', 'updatedTerminal', 'blameableValue'], 'safe'], [['tablePrefix'], 'safe']]);
 }
Пример #20
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     $rules = ArrayHelper::merge(parent::rules(), []);
     foreach ($rules as $index => &$_next) {
         if ($_next[1] == 'required' && is_array($_next[0])) {
             if (($key = array_search('tableName', $_next[0])) !== false) {
                 unset($_next[0][$key]);
             }
         } else {
             if ($_next[0] == 'tableName') {
                 unset($rules[$index]);
             }
         }
     }
     $rules[] = [['tableName'], 'tableNameValidate', 'skipOnEmpty' => false, 'skipOnError' => false];
     $rules[] = [['behaviorModels'], MultipleModelValidator::className(), 'baseModel' => Behaviors::className()];
     $rules[] = [['createTable'], 'boolean'];
     $rules[] = [['tableBuilder', 'customBehaviors'], 'safe'];
     return $rules;
 }
Пример #21
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['generateModelClass'], 'boolean'], [['tablePrefix'], 'safe']]);
 }
Пример #22
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return array_merge(parent::rules(), [[['defaultLanguage', 'tPrefix'], 'string']]);
 }