首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Yii2 When验证

Yii2的When验证是一种条件验证规则,它允许我们根据指定的条件来决定是否执行某个验证规则。当满足条件时,验证规则会被执行,否则会被跳过。

When验证的语法如下:

代码语言:txt
复制
['attribute', 'when' => function ($model) {
    // 条件判断逻辑
    return $model->attribute == 'value';
}, 'validator' => function ($attribute, $params, $validator) {
    // 验证规则逻辑
    // 当条件满足时执行的验证规则
}, 'whenClient' => "function (attribute, value) {
    // 客户端验证逻辑
    // 当条件满足时执行的客户端验证规则
}"]

其中,attribute是要验证的属性名,when是一个匿名函数,用于指定条件判断逻辑,validator是一个匿名函数,用于指定验证规则逻辑,whenClient是一个JavaScript函数,用于指定客户端验证逻辑。

应用场景: 当我们需要根据某个属性的值来决定是否执行某个验证规则时,可以使用When验证。例如,我们可以根据用户选择的支付方式来决定是否验证银行卡号。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供弹性计算能力,满足各种业务需求。产品介绍链接
  • 云数据库MySQL版(CDB):提供高性能、可扩展的MySQL数据库服务。产品介绍链接
  • 云存储(COS):提供安全可靠、高扩展性的对象存储服务。产品介绍链接
  • 人工智能机器翻译(TMT):提供高质量、实时的机器翻译服务。产品介绍链接
  • 云函数(SCF):提供事件驱动的无服务器计算服务。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • yii2 modal弹窗之ActiveForm ajax表单异步验证

    前面我们讲述了yii2中如何使用modal以及yii2 gridview列表内更新操作如何使用modal的问题,本以为modal要告一段落可以开始新的话题了,但是实际问题往往超乎想像,这不modal弹窗提交的表单说是怎么验证的问题又出来了...yii2中,ActiveForm默认做了客户端验证,但是表单的提交,却不是无刷新的。也就是常常看到的表单提交后页面会刷新。...,该操作是表单字段失去焦点时异步验证,同时如果直接提交表单,也会先执行该操作进行验证 public function actionValidateForm () { Yii::$app->response...Yii::$app->request->post()); return \yii\widgets\ActiveForm::validate($model); } 如此一来就简单的实现了yii2...异步无刷新表单验证了!

    1.2K10

    yii2 modal弹窗之ActiveForm ajax表单异步验证

    前面我们讲述了yii2中如何使用modal以及yii2 gridview列表内更新操作如何使用modal的问题,本以为modal要告一段落可以开始新的话题了,但是实际问题往往超乎想像,这不modal弹窗提交的表单说是怎么验证的问题又出来了...yii2中,ActiveForm默认做了客户端验证,但是表单的提交,却不是无刷新的。也就是常常看到的表单提交后页面会刷新。...,该操作是表单字段失去焦点时异步验证,同时如果直接提交表单,也会先执行该操作进行验证 public function actionValidateForm () { Yii::$app->response...Yii::$app->request->post()); return \yii\widgets\ActiveForm::validate($model); } 如此一来就简单的实现了yii2...异步无刷新表单验证了!

    1.5K21

    java case when用法_sql case when 嵌套

    前几天在客户环境遇到一个Spark “CASE WHEN”语句的性能优化问题。 客户那边通过一个“时间范围筛选”控件来动态修改图表的数据。...其很多指标的计算逻辑类似于: CASE WHEN `bizdate` BETWEEN ‘2020-09-06’ AND ‘2020-09-13’ THEN `sales_amount` ELSE 0 END...CASE WHEN语句有些类似于编程语言中的Switch语句,当这里的 WHEN从句只有一个的时候,可以简化为IF语句(或者 IF-ELSE 语句)。...于是想:对于Spark(客户用的是2.4.x版本), Spark会不会把这种只有一个WHEN分支的 CASE WHEN 语句优化为IF语句呢?...首先、这个应该是一个比较简单的优化,比如我是否可以通过增加一个Spark的优化器规则,来自动把一个分支的CASE WHEN转为IF,看着好像不难。

    3.1K30
    领券