我想禁用更新规则模型上的字段,但我有错误。规则模型禁用字段yii
我尝试这样的:
array('date', 'constraint', 'readOnly'=>true, 'on'=>'update'),
,但我有此错误:
“包括(constraint.php):未能打开流:没有这样的文件或目录”
我可以禁用视图使用htmloptions,但我需要从模型做它,因为更新我需要禁用超过5个字段。
我怎么能这样做?
THX提前
我想禁用更新规则模型上的字段,但我有错误。规则模型禁用字段yii
我尝试这样的:
array('date', 'constraint', 'readOnly'=>true, 'on'=>'update'),
,但我有此错误:
“包括(constraint.php):未能打开流:没有这样的文件或目录”
我可以禁用视图使用htmloptions,但我需要从模型做它,因为更新我需要禁用超过5个字段。
我怎么能这样做?
THX提前
您声明与不存在的验证规则,所以这是正常的,你有一个错误:
array('date', 'constraint', 'readOnly'=>true, 'on'=>'update'),
此行是做如下:应用验证者constraint
的0123xx字段update
场景,参数readOnly
设置为true
。
验证器constraint
不存在在Yii中有一个内置函数,所以如果你没有创建它,那么它不存在!
文档:
编辑:在你的表格,你可以这样做:
<?php
echo $form->textField(
$model,
'email',
array('readonly'=>($model->scenario == 'update')? true : false)
);
?>
正如你所看到的只读值将取决于场景。
是的,你是对的。我在_form上使用array('readonly'=> true),但存在另一种更优雅的形式? – user468891
哼哼我觉得你在做什么很好。查看我的编辑解决方案! – darkheir
我被定义为 '<?php if($ model-> isNewRecord){...' 但您的解决方案更好。 Thx很多 – user468891
该错误是因为无法找到'Constraint'验证程序。如果下一步需要这些值,则可以使用纯文本显示值和隐藏字段,而不是禁用这些字段。 – topher
我需要禁用它们以避免修改,但我需要让它们可见。 – user468891
我认为这里的'约束'验证可能来自http://www.yiiframework.com/forum/index.php/topic/4570-set-some-active-record-as-read-only/page__view__findpost__p__24179。那篇文章继续说你需要创建一个。我还没有设法让这个工作。 – russellfeeed