Поиск…


Поля формы в Yii2

Отображение базового примера страницы просмотра в Yii2 для новых учеников

Это базовые классы, которые необходимо добавить для создания формы с помощью yii2 ActiveForm

<?php

Use yii\helpers\Html;
Use yii\widgets\ActiveForm;

Строка «Ниже» запустит тег формы для нашей формы ниже, показывая, что пример показывает, как указать идентификатор формы и как применять любые классы для формы.

$form =ActiveForm::begin([   'id'=> 'login-form',   'options'=> ['class' => 'form-horizontal'],]) ?>

Здесь $ model Укажите, какое поле таблицы базы данных мы хотим связать с формой, которая хранится здесь в этой переменной, которая была передана из соответствующего контроллера.

   <?= $form->field($model, 'username') ?>
   <?= $form->field($model, 'password')->passwordInput() ?>

«имя пользователя» и «пароль» - это имя поля таблицы, с которым будет привязано наше значение.

Здесь, в приведенном ниже коде, мы помещаем кнопку отправки для отправки формы и применяем «Логин» в качестве текстового элемента Button и базовых классов css.

 <div class="form-group">
       <div class="col-lg-offset-1 col-lg-11">
           <?= Html::submitButton('Login', ['class' => 'btn btn-primary']) ?>
       </div>
   </div>

Здесь, в нижнем коде, мы закрываем форму

<?php ActiveForm::end() ?>

Создать поле пароля:

<?= $form->field($model, 'password')->passwordInput() ?>

Создать TextField:

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

Создать скрытое поле формы:

echo $form->field($model, 'hidden1')->hiddenInput()->label(false);

Создание раскрывающегося списка:

<?php echo $form->field($model, 'name')
->dropdownList(
Stud::find()->select(['name'])
->indexBy('name')->column(),
['prompt'=>'Select no']); ?>

Выпадающий список с идентификатором и именем

<?= $form->field($model, 'name')->dropDownList(
            ArrayHelper::map(Stud::find()->all(), 'no', 'name'),['prompt' => 'Select Car Name']
 ) ?>

Создать FileUploader:

echo $form->field($model, 'imagepath')->fileInput();

Добавление метки места и индивидуальной метки

 <?= $form->field($model, 'username')->textInput()->hint('Please enter your  name')->label('Name') ?>

Проверка ActiveForm

Вы можете включить / отключить проверки ajax и клиента в активной форме.

$form = ActiveForm::begin([
    'id' => 'signup-form',
    'enableClientValidation' => true,
    'enableAjaxValidation' => true,
    'validationUrl' => Url::to('signup'),
]);
  1. enableClientValidation по умолчанию включен в ActiveForm. Если вы не нуждаетесь в проверке клиента в форме, мы можем отключить, присвоив значение false.
  2. enableAjaxValidation по умолчанию отключен в ActiveForm. Если вы хотите включить его, мы должны добавить вручную в ActiveForm, как указано выше.
  3. validationUrl - если вы хотите сохранить все кодирование проверки в отдельном действии контроллера для этой формы, мы можем настроить активную форму с помощью validationUrl . Если мы не установили это, оно примет значение действия формы.

Вышеуказанные два аргумента повлияют на всю форму. Если вы хотите проверить валидацию ajax только для определенного поля в форме, вы можете добавить enableAjaxValidation для этого конкретного поля. Он будет работать только для этой области не всей формы.

Например, в регистрационной форме вы хотите проверить, что имя пользователя уже существует. Проверка на момент ввода пользователя в форму. вы можете использовать этот аргумент enableAjaxValidation для этого поля.

echo $form->field($model, 'username', ['enableAjaxValidation' => true]);


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow