2014-12-15 5 views
9

Yii2의 official tutorial에 따르면. 나는 참가 신청서에 대한 견해를 만들었습니다 :Yii2 ActiveForm 필드 옵션이 작동하지 않습니다.

<?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(); ?> 

이 시점에서 모든 것이 잘되었습니다. 나는 field 방법의 매개 변수 options을 사용하려고 할 때, 다음과 같이 나는 오류를 가지고있다

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

:

Unknown Property – yii\base\UnknownPropertyException

Setting unknown property: yii\widgets\ActiveField::style

The official api documentation

은 ActiveForm을의 방법은 옵션

라는 세 번째 매개 변수를 밝혔다

아무도 왜이 오류가 발생했는지 설명 할 수 있습니까?! 당신은 당신이 실제로에서는 TextInput을 요구하는 필드 유형을 지정하지 않고 $form->field($model, 'name')을 수행 할 때

답변

10

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

설명하기가 좀 어렵

를 사용해보십시오. 그렇다고해서 ->field(에 문의하여 ->textInput(과 같은 방식으로 매개 변수를 가져와야한다는 의미는 아닙니다. 어떤이 있기 때문에이 오류

Unknown Property – yii\base\UnknownPropertyException 

Setting unknown property: yii\widgets\ActiveField::style 

있어

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

: 당신이 필드에 대해 특별한 PARAMS을 넣어해야하는 경우이 코드를 사용해보십시오 명시 적 ->textInput(['style' => 'color:red'])

+0

공식 문서에서는 세 번째 매개 변수 인 "options"에 대해 설명합니다. 그러나 그것을 사용하여 정의 될 수있는 것을 설명하지는 않습니다. : – webpaul

+0

당신은 맞습니다. 그게 더 문서화되어야합니다. 다음 주에 몇 가지를 추가 할 수 있습니다. –

3

를 사용할 필요가 없습니다 그러한 속성 스타일. 'options'을 사용하고 하위 배열로 'style'을 전달해야합니다.

관련 문제