我想在用戶更新時禁用或只讀字段,即username
。當註冊用戶更新他們的信息時,他們會看到該用戶名禁用。我試圖根據this答案,但它不爲我而給了一個錯誤User has an invalid validation rule. The rule must specify attributes to be validated and the validator name.
我在規則中寫道工作:如何禁用Yii更新的字段
array('username', 'readOnly'=>true, 'on'=>'update'),
和形式:
echo $form->textFieldRow($model,'username',array(
'class'=>'span5',
'maxlength'=>45,
'readOnly'=>($model->scenario == 'update')? true : false
));
但不明白爲什麼這個顯示錯誤。
值得注意的是:'safe'驗證僅適用於質量分配,也不會否認更新模型的屬性與個人分配('$ model-> someAttribute')。 – Wirone
沒有['unsafe'驗證器](http://www.yiiframework.com/doc-2.0/yii-validators-validator.html) - 第二行是多餘的。 – bakavic
@bakavic在Yii 1中有一個'unsafe'驗證器(例如見[這裏](http://www.yiiframework.com/wiki/533/safe-and-unsafe-model-validators-massive-assignments/)) ,這個問題是關於。當我寫這個答案時,Yii 2還沒有被釋放。=) – Jon