генератор валидации rules()

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
iamguruman
Сообщения: 236
Зарегистрирован: 2018.05.10, 08:26

генератор валидации rules()

Сообщение iamguruman »

Предлагаю такую форму результата работы генератора валидации в gii:

Код: Выделить всё

    public function rules()
    {
        return [
            [['created_at'], 'safe'],
            
            [['updated_at'], 'safe'],
            
            [['markdel_at'], 'safe'],
            
            [['created_by'], 'integer'],
            [['created_by'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['created_by' => 'id']],

            [['updated_by'], 'integer'],
            [['updated_by'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['updated_by' => 'id']],
            
            [['markdel_by'], 'integer'],
            [['markdel_by'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['markdel_by' => 'id']],
            
            [['nomenclature_id'], 'integer'],
            [['nomenclature_id'], 'exist', 'skipOnError' => true, 'targetClass' => Nomenclature::className(), 'targetAttribute' => ['nomenclature_id' => 'id']],

            [['our_price'], 'number'],
            
            [['lm_price'], 'number'],

            [['lm_code'], 'unique'],
            [['lm_code'], 'string', 'max' => 20],

            [['gamma'], 'string', 'max' => 3],

            [['url'], 'string', 'max' => 500],
        ];
    }
все значения разделены по полям
наглядно
"разложено по полочкам"
"читабельно"
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: генератор валидации rules()

Сообщение samdark »

Ну да, в общем, неплохо. Можете сделать как расширение. Менять в Yii 2 сейчас это — не очень будет для тех, кто AR постоянно перегенерирует.
Ответить