Ricerca…


Campi modulo in Yii2

Visualizzazione dell'esempio di base della pagina di visualizzazione in Yii2 per i nuovi studenti

Queste sono le classi base che devi aggiungere per creare un modulo usando yii2 ActiveForm

<?php

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

La riga sottostante avvierà il tag modulo per il modulo sottostante che mostra l'esempio mostra come specificare l'id per il modulo e come applicare qualsiasi classe per il modulo.

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

Qui $ modello Specificare quale campo della tabella del database si desidera associare con il modulo dell'oggetto modello memorizzato qui in questa variabile che è stata passata dal relativo controller.

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

'username' e 'password' è il nome del campo della tabella con cui verrà associato il nostro valore.

Qui sotto il codice stiamo inserendo il pulsante di invio per l'invio del modulo e applicando 'Login' come pulsante Testo e classi di base CSS ad esso.

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

Qui sotto il codice stiamo chiudendo il modulo

<?php ActiveForm::end() ?>

Crea campo password:

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

Crea campo di testo:

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

Crea campo modulo nascosto:

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

Crea menu a discesa:

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

Elenco a discesa con ID e nome

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

Crea FileUploader:

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

Aggiunta di un segnaposto e un'etichetta personalizzata

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

Validazioni ActiveForm

È possibile abilitare / disabilitare le convalide di ajax e client in forma attiva.

$form = ActiveForm::begin([
    'id' => 'signup-form',
    'enableClientValidation' => true,
    'enableAjaxValidation' => true,
    'validationUrl' => Url::to('signup'),
]);
  1. enableClientValidation è abilitato per impostazione predefinita in ActiveForm. Se non è necessaria la convalida del client nel modulo, è possibile disabilitare assegnando come falso.
  2. enableAjaxValidation è disabilitato per impostazione predefinita in ActiveForm. Se si desidera abilitarlo, dobbiamo aggiungere manualmente in ActiveForm come sopra.
  3. validationUrl : se si desidera mantenere tutta la codifica di convalida nell'azione del controller separata per questo modulo, è possibile configurare Activeform utilizzando validationUrl . Se non lo abbiamo impostato, prenderà il valore dell'azione del modulo.

I suddetti due argomenti avranno effetto per l'intera forma. Se si desidera verificare la convalida di ajax solo per un campo particolare nel modulo, è possibile aggiungere enableAjaxValidation per quel particolare campo. Funzionerà solo per quel campo non in forma intera.

Ad esempio nel modulo di registrazione si desidera verificare che il nome utente esista già validazione al momento dell'inserimento nel modulo. puoi usare questo argomento enableAjaxValidation per quel campo.

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow