Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2 ActiveForm字段选项不起作用_Php_Yii2 - Fatal编程技术网

Php Yii2 ActiveForm字段选项不起作用

Php Yii2 ActiveForm字段选项不起作用,php,yii2,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')->l

根据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(); ?>
我得到了一个错误:

未知属性–yii\base\UnknownPropertyException

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

声明ActiveForm的方法接受第三个参数,称为options

谁能解释一下为什么会发生这个错误

试试看

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

这有点难以解释,当您在未指定实际请求文本输入的字段类型的情况下执行
$form->field($model,'name')
时。但这并不意味着你应该要求
->field(
以与
->textInput(
相同的方式获取参数。如果你需要为字段设置一些特殊参数,你必须使用显式
->textInput(['style'=>'color:red'])

尝试以下代码:

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

因为没有这样的属性样式。您应该使用'options'并将'style'作为子数组传递

这种方式用于所有“字段”(包括“标签”和“输入”)上的Specify选项,但是'style'=>'color:red'仅以这种方式影响标签,我将其用于Specify类选项,而不是颜色:

<?= $form->field($model, 'name', [ 'options' => [ 'class' => 'col-xs-8']])->label('Your Name'); ?>

如果要为其中一个(标签或输入)指定选项,可以单独执行,如下所示:

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


Yii非常灵活,这就是我喜欢它的地方。

官方文档谈到了第三个参数“选项”。但它没有解释使用它可以定义什么。:(你是对的,应该有更好的文档记录。下周我可能会在其中添加一些内容。这是正确的答案!
<?= $form->field($model, 'name', [ 'options' => [ 'class' => 'col-xs-8']])->label('Your Name'); ?>
<?= $form->field($model, 'name')->textInput(['style' => 'color:red'])->label('Your Name',['style'=>'color:blue']); ?>