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

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

条件:①、有两个字段分别是A和B ②、A有两个值分别是1和2

需求是:当用户选择的A的值等于1的时候,B的值必须填写,当A的值等于2的时候,B的值不写也没关系。其中A必选。

首先在其关联model上加上下面这句规则

/**

* @inheritdoc

*/

public function rules()

{

return [

[['B'], 'requiredByASpecial'],

]

}

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

/**

* 自定义验证B

*/

public function requiredByASpecial($attribute, $params)

{

if ($this->A== 1)

{

if ($this->B=== '')

$this->addError($attribute, "B的值不可以为空.")

}

}

上面的意思就是说当A等于1且B的值为空时,返回错误信息"B的值不可以为空"。

Yii 怎么给 left join 加 and 条件

scanf("%f",&tasks[i].run_time)

printf("please input the priority:\n")

scanf("%d",&tasks[i].priority)

tasks[i].run_begin_time=0

tasks[i].run_end_time=0

tasks[i].order=0

tasks[i].run_flag=0

}

return 0

}

int poutput() /*调度结果输出*/

{

int i

float turn_round_time=0,f1,w=0

printf("name number come_time run_timerun_begin_time run_end_time priority order turn_round_time\n")

for(i=0i<counteri++)

{

f1=tasks[i].run_end_time-tasks[i].come_time

turn_round_time+=f1

w+=(f1/tasks[i].run_time)

Yii Model有一个静态的方法

model::updateAll($attributes, $condition)

两个参数都是数组形式,第一个参数是要更改的字段以及字段值

第二个是条件

我这里是yii2.0的 yii1.x估计也差不多,具体可以打开这个方法的源码,yii都有详细的使用说明

除了这个方法,还有很多方法,比如你用模型的find方法,然后改完后,save就可以了,处理多个记录,自然前面的方法更好


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11625365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存