yii2
Yii2 ActiveForm
Поиск…
Поля формы в 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'),
]);
-
enableClientValidation
по умолчанию включен в ActiveForm. Если вы не нуждаетесь в проверке клиента в форме, мы можем отключить, присвоив значение false. -
enableAjaxValidation
по умолчанию отключен в ActiveForm. Если вы хотите включить его, мы должны добавить вручную в ActiveForm, как указано выше. -
validationUrl
- если вы хотите сохранить все кодирование проверки в отдельном действии контроллера для этой формы, мы можем настроить активную форму с помощьюvalidationUrl
. Если мы не установили это, оно примет значение действия формы.
Вышеуказанные два аргумента повлияют на всю форму. Если вы хотите проверить валидацию ajax только для определенного поля в форме, вы можете добавить enableAjaxValidation
для этого конкретного поля. Он будет работать только для этой области не всей формы.
Например, в регистрационной форме вы хотите проверить, что имя пользователя уже существует. Проверка на момент ввода пользователя в форму. вы можете использовать этот аргумент enableAjaxValidation
для этого поля.
echo $form->field($model, 'username', ['enableAjaxValidation' => true]);