Php Yii2 ActiveForm字段选项不起作用
根据Yii2的报告。我已为条目表单创建了一个视图: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
<?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']); ?>