永发信息网

yii2自动验证.怎么添加只有添加记录时才生效的规则

答案:1  悬赏:40  手机版
解决时间 2021-01-07 16:16
  • 提问者网友:谁的错
  • 2021-01-06 20:45
yii2自动验证.怎么添加只有添加记录时才生效的规则
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-01-06 22:16
条件:①、有两个字段分别是A和B ②、A有两个值分别是1和2
需求是:当用户选择的A的值等于1的时候,B的值必须填写,当A的值等于2的时候,B的值不写也没关系。其中A必选。
首先在其关联model上加上下面这句规则

public function rules()
{
return [
[['B'], 'requiredByASpecial'],
];
}

然后在该model里面去实现requiredByASpecial方法即可

public function requiredByASpecial($attribute, $params)
{
if ($this->A== 1)
{
if ($this->B=== '')
$this->addError($attribute, "B的值不可以为空.");
}
}

上面的意思就是说当A等于1且B的值为空时,返回错误信息"B的值不可以为空"。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯