2017-02-27 5 views
0

Ich mag die einfache Form-Tag & Element verwenden möchtenyii2 Validierung Formularelement aus Modell ohne Activeform mit

<form name="formname" action="" method="post"> 
<input type="text" name="title" value="" /> 
</form> 

Ich möchte alle Felder auf Client-Seite & Server-Seite mit yii Modell validieren. Modellvalidierungen können leicht mit Activeform angewendet werden, aber ich möchte ActiveForm nicht verwenden.

Jede einfache Möglichkeit, die Formularfelder auf Client & Server auf beiden Seiten zu validieren?

+1

Warum wollen Sie nicht Activeform benutzen? – marche

+0

ist es immer besser, aktive Form zu verwenden, aber Sie können normales HTML von verwenden. Und verwenden Sie Model für die Serverseite zur Validierung. –

Antwort

0

Verwenden Sie die Methode beginForm(). Und versuche etwas wie unten.

use yii\helpers\Html; 
<?php $form = Html::beginForm()([ 
    'method' => 'post', 
    'name' => 'formname', 
]); ?> 
<?= Html::textarea->textarea(['rows' => 6, 'name'=>'title'])->label(false) ?> 
<div class="form-group"> 
    <?= Html::submitButton('POST', ['class' => 'btn btn-primary']) ?> 
</div> 
<?php Html::endForm() ?> 

und dann in Ihrem Modell

if ($model->load(Yii::$app->request->post()) && $model->validate()) { 
    // $model->addRule(['fieldname'], 'string', ['max' => 50]); 
} 
+0

Dies wird auch auf Client-Seite validiert? –

+0

Kann Nein sein ..... Dafür müssen Sie ActiveForm verwenden .... schauen Sie hier für Verständnis .. http://StackOverflow.com/Questions/27560892/ClientSide-validation-in-Not- Arbeiten –

Verwandte Themen