Yii2使输入字段仅出现在create中

时间:2016-10-19 05:12:41

标签: forms yii2

我想让输入字段仅出现在'create'表单中,而不是'update'表单中。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以按照以下方式执行此操作

if ($model->isNewRecord){
    echo $form->field($model, 'password')->passwordInput(['maxlength' => true, 'placeholder' => "Enter password"]);
}

答案 1 :(得分:0)

您可以使用$ model-> isNewRecord以多种创造性的方式,可以帮助您根据创建/更新做一些事情。

即。
隐藏字段

if ($model->isNewRecord){
    echo $form->field($model, 'title')->textInput()
}

更改样式,类或属性,例如readonly

$isEditable = (model->isNewRecord);
$class = (model->isNewRecord)?'class-a':'class-b';
echo $form->field($model, 'title')->textInput([
         'readonly'=>$isEditable, 
         'disabled' => $isEditable,
         'class'=>$class])

更改标签

Html::submitButton( ($model->isNewRecord)
  ?'Create'
  :'Update',
  ['class' => 'btn btn-success','id' => 'submit-btn',]);

显示其他按钮

echo ($model->isNewRecord)   
? Html::a('Cancel', ['index'], ['class' => 'btn btn-warning'])   
: Html::a('Close', ['otherplace'], ['class' => 'btn btn-primary']);   

您可以使用$model->isNewRecord进行大量游戏,并根据状态实际修改一些内容。

还有很多其他的东西。