@ta4

Как в форме yii2 разместить поля, которые не нужно отправлять, но нужно валидировать?

Имеется форма:
<?php $form = ActiveForm::begin(); ?>

                <?= $form->field($model, 'car')->textInput() ?>

                <?= $form->field((new \frontend\models\SignupForm(), 'phone')->textInput() ?>

                <?= Html::submitButton( 'Сохранить') ?>
    <?php ActiveForm::end(); ?>


В форме 2 поля для ввода. Когда пользователь что-то вводит во второе поля и жмет enter, я перехватываю это и делаю ajax запрос, который с данной формой не связан.

Мне необходимо отключить валидацию этого поля, когда пользователь жмет "Сохранить", да и вообще мне не нужно отправлять с формой. В какую сторону смотреть? Вообще возможно в yii2 показывать поле не в форме и валидировать его?
  • Вопрос задан
  • 513 просмотров
Пригласить эксперта
Ответы на вопрос 2
bitver
@bitver
Странное решение, уверен что ваша проблема решается не перехватом и подобными свистоплясками, а если уж по теме, то выводите поле вне формы, кто запрещает?
Ещё можно попробовать это <input type="<тип>" form="<идентификатор>">
P.S. При чём здесь теги php и yii? Они вообще не при чём. HTML да и только.
Ответ написан
Комментировать
beardedman
@beardedman
full stack web developer
Лучше в таких случаях пишите задачу, которую пытаетесь решить. После нескольких прочтений, согласен с предыдущем сообещнием - для чего делаются такие свистопляски.
К тому же - я так понял у вас свои ajax запросы. Пользуйтесь средствами фреймворка - передайте параметр в форму enableAjaxValidation' => true и задавайте параметры валидации в методе rules().
<?php $form = ActiveForm::begin(['id'=>'registration-form', 
    'enableAjaxValidation' => true]); ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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