Yii2 ActiveForm字段选项不起作用

Sai*_*akR 12 php yii2

根据Yii2 的官方教程.我为条目表单创建了一个视图:

    <?php
    use yii\helpers\Html;
    use yii\widgets\ActiveForm;
    ?>
    <?php $form = ActiveForm::begin(); ?>
<!-- GET Attention for the next Line -->
    <?= $form->field($model, 'name')->label('Your Name'); ?>
    <?= $form->field($model, 'email'); ?>
    <div class="form-group">
      <?=  Html::submitButton('Send!', ['class' => 'btn btn-primary']); ?>
    </div>    
    <?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud)

在这一点上一切都很好.但是,当我尝试使用optionsfield方法的参数时如下:

<?= $form->field($model, 'name', ['style' => 'color:red'])->label('Your Name'); ?>
Run Code Online (Sandbox Code Playgroud)

我有错误:

未知属性 - yii\base\UnknownPropertyException

设置未知属性:yii\widgets\ActiveField :: style

官方的api文档声明ActiveForm的方法采用了第三个名为options的参数

有人可以解释一下为什么会出现这个错误吗?!

Mih*_* P. 15

尝试

<?= $form->field($model, 'name')->textInput(['style' => 'color:red'])->label('Your Name'); ?>
Run Code Online (Sandbox Code Playgroud)

这有点难以解释,当你$form->field($model, 'name')没有指定字段类型时,你实际上要求textInput.但这并不意味着你应该要求->field(以同样的方式采取参数->textInput(.如果你需要为字段添加一些特殊的参数,你必须使用显式->textInput(['style' => 'color:red'])


tsa*_*hev 7

试试这段代码:

<?= $form->field($model, 'name', [ 'options' => [ 'style' => 'color: red']])->label('Your Name'); ?>
Run Code Online (Sandbox Code Playgroud)

你有这个错误

Unknown Property – yii\base\UnknownPropertyException

Setting unknown property: yii\widgets\ActiveField::style
Run Code Online (Sandbox Code Playgroud)

因为没有这样的财产风格.您应该使用'options'并将'style'作为子数组传递