@hollanditkzn

Разобравтся с валидацию в виджете?

Использую данный виджет https://github.com/unclead/yii2-multiple-input/wik... У меня выходит имеет ограничение в строке, должны быть 50 символов. И если пользователь напишет в input допустим больше 50, например 70 символов то у меня перезагружается страница и выводит данную запись на белом фоне Array ( [tovar] => Array ( [0] => Значение «Товар» должно содержать максимум 50 символа. ) )
Но как сделать так чтобы когда он вбил в этой же странице и перешла на эту страницу или ajax проверила на валидность данные и сразу указывала данную ошибку
Вот код в контроллере
public function actionCreate()
    {
        $notification = $this->findNotification();
        $models = [new Custom()];
        $request = Yii::$app->getRequest();
        if ($request->isPost && $request->post('ajax') !== null){
            $data = Yii::$app->request->post('Custom', []);
            foreach (array_keys($data) as $index) {
                $model[$index] = new Custom();
            }
            Model::loadMultiple($models, Yii::$app->request->post());
            Yii::$app->response->format = Response::FORMAT_JSON;
            $result = ActiveForm::validateMultiple($models);
            return $result;
        }

        if(Model::loadMultiple($models, Yii::$app->request->post())) {
            foreach ($models as $custom) {
                if ($custom->save()){
                    return $this->redirect(Yii::$app->request->referrer);
                } else{
                   print_r($custom->getErrors());
                }
            }
        } else {
            return $this->render('create', [
               'models' => $models,
            ]);
        }
    }
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
использовать ajax валидацию:
чтиво на тостре
чтиво на яндексе
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы