web-dev-qa-db-ja.com

Yii2でActiveFieldのラベルとエラーのみを表示する方法

Yii2のActiveFieldでフィールドのラベルとエラーのみを表示する方法を教えてください。 Redactorを使用していて、textareaだけでなく、エラーとラベルも表示したい。ありがとう。

コード例を以下に示します。

<?php $form = ActiveForm::begin(); ?>

    <?php echo $form->errorSummary($model); ?>

    <?= $form->field($model, 'title')->textInput(['maxlength' => 255]) ?>

    <?php
    echo yii\imperavi\Widget::widget(
        [
            'model' => $model,
            'attribute' => 'text',
            'options' => [],
        ]
    );
    ?>
    <br />
    <div class="form-group">
        <?= Html::submitButton(
            $model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'),
            ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']
        ) ?>
    </div>

    <?php ActiveForm::end(); ?>
11
frops
<?php 
$field = $form->field($model, 'username', ['options' => ['class' => 'form-group col-sm-6']]);
$field->template = "{label}\n{error}";  
echo $field->textInput(['maxlength' => 255]);
?>
6
zelenin

これを試して。私は精液のオプションを与えました

<?php
    use yii\helpers\Html;
    use yii\widgets\ActiveForm;

    $form =  \yii\widgets\ActiveForm::begin([
      'id' => 'form-id',
      'options' => ['class' => 'form-horizontal'],
      'enableClientValidation'=> true,
      'enableAjaxValidation'=> false,
      'validateOnSubmit' => true,
      'validateOnChange' => true,
      'validateOnType' => true,
      'action' => 'youractionurl',
      'validationUrl' => 'yourvalidationurl'
    ]);

    echo $form->field($model, 'fieldname')->begin();
        echo Html::activeLabel($model,'fieldname'); //label
        echo Html::activeTextInput($model, 'fieldname'); //Field
        echo Html::error($model,'fieldname', ['class' => 'help-block']); //error
    echo $form->field($model, 'fieldname')->end();
    \yii\widgets\ActiveForm::end(); 
?>
16
Kshitiz

あまりにもいくつかの決定ですが、間違いはまだ表示されません。

$redactor = yii\imperavi\Widget::widget(
        [
            'model' => $model,
            'attribute' => 'text',
            'options' => [
                'minHeight' => 400,
            ],
        ]
    );   
$form->field($model, 'text', ['template' => "{error}\n{label}\n{hint}\n{$redactor}"])->textarea();
2
frops