背景

对web表单或者app前端传到后端的数据进行验证,有什么法子呢?

  • 直接自己编写代码对$_POST ,$_GET中的字段进行验证
  • 使用框架提供的手段

rules() 能用来做什么?

返回对各个字段属性的验证规则

on属性的注意:

  • 没有指定 on 属性的字段,规则会在所有场景中都被启用
  • on的值可以为字符串,'scenarino' 单个场景中起作用
  • on的值可以为数组['scenrino1',scenarino2]多个场景中起作用

scenarios() 场景

返回当前model的所有场景,以及每种场景下可以进行块赋值(安全的)和不可以进行块赋值(非安全)的属性

  • 有一个默认场景default
  • 没有覆盖重写
    • 返回rules里面发现的所有场景和对应的属性,默认是属性是安全的可以进行块赋值
  • 重写手动指定属性在每种场景中是否是安全的