yii2-rules条件验证应用

本文详细介绍了在Yii2框架下如何实现条件验证,通过示例代码展示如何根据特定条件决定字段是否必填,以及如何自定义复杂的验证规则,确保数据在入库前的准确性和完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


--Core validator 如 required 同时支持客户端验证和服务端验证;Inline validator 如 validname 不支持客户端验证。
  validname validator 必须提交表单后才能触发验证。
  --自定义函数验证Only For Server validator,如果没有required,需要加'skipOnEmpty' => false, or 'skipEmpty' => false? 
  --when Only For Server validator
 [
     ['username', 'required', 'when' => function($model, $attribute) {
  return $model->username== 'MIKE';
     }],
 ]
 /**
  * @param Model $model 要验证的模型对象
  * @param string $attribute 待测特性名
  * @return boolean 返回是否启用该规则
  */
 function ($model, $attribute)


  --whenClient 验证
 [
     ['username', 'required', 'when' => function ($model) {
  return $model->username== 'MIKE';
     }, 'whenClient' => "function (attribute, value) {
  return $('#username).value == MIKE;
     }"],
 ]

 simple eg:

 ['username', 'required',
 'when'       => function ($model) {
       return false;
   },

 'whenClient' => "function(attribute, value) {
        return false;
    }"
 ], 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值