public function rules()
{
return [
[
['group'],
'required',
'on' => [
static::SCENARIO_EDIT_OTHER,
static::SCENARIO_EDIT_COMPANY,
static::SCENARIO_EDIT_USER,
static::SCENARIO_EDIT_SUPPLIER,
],
],
[['document_creation_date'],'required'],
[['name', 'doc_url'],'required','on'=>[static::SCENARIO_EDIT_OTHER,
static::SCENARIO_EDIT_USER,
static::SCENARIO_EDIT_SUPPLIER,]],
[['type', 'group', 'created_at', 'updated_at', 'contract_id', 'company_id', 'user_id','due_date'], 'integer'],
[['isAuto'], 'boolean'],
['services', 'safe'],
['summ','number'],
['document_creation_date', 'default', 'value' => time()],
[['external_id', 'name', 'doc_url'], 'string', 'max' => 255],
['format','in','range'=>array_keys(DocumentsFormatEnum::getNames())],
['format','required','on'=>[static::SCENARIO_EDIT_COMPANY,]],
['status','in','range'=>array_keys(DocumentsStatusEnum::getNames())],
['status','required','on'=>[static::SCENARIO_EDIT_COMPANY,]],
['description','string'],
[
['company_id'],
'exist',
'skipOnError' => false,
'targetClass' => \app\models\Entity\Company::className(),
'targetAttribute' => ['company_id' => 'id'],
],
[
['contract_id'],
'exist',
'skipOnError' => true,
'targetClass' => Documents::class,
'targetAttribute' => ['contract_id' => 'id'],
],
[
['user_id'],
'exist',
'skipOnError' => false,
'targetClass' => User::className(),
'targetAttribute' => ['user_id' => 'id'],
],
[['comment'], 'string'],
];
}