Buscar..


Campos de formulario en Yii2

Muestra el ejemplo básico de la página de visualización en Yii2 para nuevos alumnos

Estas son clases básicas que debe agregar para crear un formulario usando yii2 ActiveForm

<?php

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

La línea de abajo comenzará la etiqueta de formulario para nuestro formulario de abajo que muestra un ejemplo que muestra cómo especificar id para el formulario y cómo aplicar cualquier clase para el formulario.

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

Aquí $ modelo Especifique qué campo de la tabla de base de datos queremos vincular con la forma en que se modela el objeto almacenado aquí en esta variable que se ha pasado desde el controlador relevante.

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

'nombre de usuario' y 'contraseña' es el nombre del campo de la tabla con el que nuestro valor estará vinculado.

Aquí, en el siguiente código, estamos poniendo el botón Enviar para enviar el formulario y aplicamos 'Iniciar sesión' como texto de botón y clases básicas de CSS.

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

Aquí en el siguiente código estamos cerrando formulario

<?php ActiveForm::end() ?>

Crear campo de contraseña:

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

Crear campo de texto:

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

Crear campo de formulario oculto:

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

Crear desplegable:

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

Lista desplegable con identificación y nombre

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

Crear FileUploader:

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

Agregar un marcador de posición y una etiqueta personalizada

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

Validaciones de ActiveForm

Puede habilitar / deshabilitar ajax y validaciones de clientes en forma activa.

$form = ActiveForm::begin([
    'id' => 'signup-form',
    'enableClientValidation' => true,
    'enableAjaxValidation' => true,
    'validationUrl' => Url::to('signup'),
]);
  1. enableClientValidation está habilitado de forma predeterminada en ActiveForm. Si no necesita la validación del cliente en forma, podemos deshabilitarla asignándola como falsa.
  2. enableAjaxValidation está deshabilitado de forma predeterminada en ActiveForm. Si desea habilitarlo, tenemos que agregarlo manualmente en ActiveForm como arriba.
  3. validationUrl : si desea mantener toda la codificación de validación en una acción de controlador separada para este formulario, podemos configurar el formulario activo utilizando validationUrl . Si no configuramos esto, tomará el valor de acción del formulario.

Los dos argumentos anteriores afectarán para toda la forma. Si desea verificar la validación de ajax solo para un campo en particular en el formulario, puede agregar enableAjaxValidation para ese campo en particular. Solo funcionará para ese campo no de forma completa.

Por ejemplo, en el formulario de registro, desea verificar que el nombre de usuario ya existe. La validación a la hora del usuario ingrese el formulario. puede utilizar este argumento enableAjaxValidation para ese campo.

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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow