gpt4 book ai didi

php - Yii2 需要更新验证

转载 作者:可可西里 更新时间:2023-11-01 13:14:28 25 4
gpt4 key购买 nike

我有 Yii2 表单,其中包含取决于页面操作的表单字段。前任。当操作为 create 时出现的字段很少,当操作为 update 时出现的字段很少。我想根据这种情况添加所需的验证。

例如

<?= $form->field($model, 'unique_identifier')->textInput(['maxlength' => 45]) ?>

我仅在 action => 'update' 时显示此字段。

现在我想为此添加必需的验证,我尝试了这个:

[['unique_identifier'], 'required', 'on' => 'update'],

但是上面的验证不起作用。如果我删除 on=>update,那么它会在创建和更新场景中进行验证。

如有任何帮助,我们将不胜感激。

最佳答案

ActiveRecord 不会在您更新或创建项目时自动设置方案。您必须覆盖模型中的 update() 方法并设置您需要的场景。例如。在你的情况下

public function update($runValidation = true, $attributeNames = null)
{
$this->scenario = 'update';
return parent::update($runValidation, $attributeNames);
}

您还可以在actionUpdate 中设置场景

public function actionUpdate($id)
{
$model = $this->findModel($id);
$model->scenario = 'update';
//load data from request, save model etc.
}

关于php - Yii2 需要更新验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30886437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com