【问题标题】:How create new model without required fields and validation rules?如何在没有必填字段和验证规则的情况下创建新模型?
【发布时间】:2017-05-03 11:00:15
【问题描述】:

在我的表格中有 2 个模型。第二个的活动取决于下拉列表之一中的选择。如果我没有选择正确的,我不会使用第二个模型的验证必填字段。

例如……

$modelOne = new ModelOne;
$modelTwo = new ModelTwo; 

.... 

    if($model->load($request->post()) && $model->save()) { 
     .... 
    } else {
         return $this->render('create', [
                     'model' => $model,
                ]);
    }

我想知道在创建模型以删除验证和必填字段时是否有一些选项。

喜欢,

modelTwo = new modelTwo([ *something that removes validation* ]);

我尝试了各种场景,但无法在 modelTwo->load(Yii::$app->request->post()); 中加载输入

【问题讨论】:

  • 不是正确的解决方案。因为我想删除必填字段而不是添加新字段。还是谢谢你。
  • 什么? “添加一个新的”是什么意思?
  • 当我添加条件验证时,必填字段仍然是必需的。
  • 只有在满足条件时——这不是你想要的吗?

标签: validation yii model yii2


【解决方案1】:

如果您不想在保存时验证模型,只需使用 $model->save(false)。

http://www.yiiframework.com/doc-2.0/yii-db-baseactiverecord.html#save()-detail

【讨论】:

  • 当我创建新模型时,我会使用规则创建它,并使用规则在页面上呈现它。由于错误消息,我无法提交
  • 然后不要对这些字段使用 activeform 或者只是禁用它们的验证
猜你喜欢
  • 2018-04-15
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多