id; FormWidget::widget([ 'top' => [ 'title' => 'Профил', 'title_edit' => 'Профил', 'data' => [ 'index/dashboard' => 'Начало' ] ], 'writeView' => 'user/write/profile_w', 'model' => UserPartner::class, 'validation' => function ($p, $f) { if (isset($p->profile_update)) { if (empty($p->{'email_login'})) return ['email_login' => 'Моля, въведете ел. поща']; if (!filter_var($p->{'email_login'}, FILTER_VALIDATE_EMAIL)) return ['email_login' => 'Моля, въведете валиден имейл адрес']; if (UserPartner::recordExists('email_login', $p->{'email_login'})) return ['email_login' => 'Този имейл адрес вече се ползва от друг потребител на партньор']; if(empty($_GET['id'])) { if (empty($p->{'password'})) return ['password' => 'Моля, въведете парола']; } if(!empty($p->{'password'})) { if (strlen($p->{'password'}) < 6) return ['password' => 'Моля, въведете парола от поне 6 символа']; if ($p->{'cPassword'} != $p->{'password'}) return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата']; } if(empty($p->{'first_name'})) return ['first_name' => 'Моля, попълнете име']; //if(empty($p->{'middle_name'})) // return ['middle_name' => 'Моля, попълнете презиме']; //if(empty($p->{'last_name'})) // return ['last_name' => 'Моля, попълнете фамилия']; //if() //upload_image: {name: "sm.jpeg", type: "image/jpeg", tmp_name: "/tmp/phpIgI8Lt", error: 0, size: 35953} } if (isset($p->password_change) && !empty($_GET['id'])) { if (empty($p->{'password'})) return ['password' => 'Моля, въведете парола']; if (strlen($p->{'password'}) < 6) return ['password' => 'Моля, въведете парола от поне 6 символа']; if ($p->{'cPassword'} != $p->{'password'}) return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата']; } return null; }, 'postService' => function ($p, UserPartner $model) { $model->setPostDataToModel(); $model->uploadSingleImage('upload_image', 'user/partner'); $model->save(); Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно'); Yii::$app->setRefresh(); $model->redirectTo('user/profile'); } ]);