think\Validate::scene PHP Method

scene() public method

设置验证场景
public scene ( string | array $name, mixed $fields = null ) : Validate
$name string | array 场景名或者场景设置数组
$fields mixed 要验证的字段
return Validate
    public function scene($name, $fields = null)
    {
        if (is_array($name)) {
            $this->scene = array_merge($this->scene, $name);
        }
        if (is_null($fields)) {
            // 设置当前场景
            $this->currentScene = $name;
        } else {
            // 设置验证场景
            $this->scene[$name] = $fields;
        }
        return $this;
    }

Usage Example

Example #1
0
 public function testScene()
 {
     $rule = ['name' => 'require|max:25', 'age' => 'number|between:1,120', 'email' => 'email'];
     $msg = ['name.require' => '名称必须', 'name.max' => '名称最多不能超过25个字符', 'age.number' => '年龄必须是数字', 'age.between' => '年龄只能在1-120之间', 'email' => '邮箱格式错误'];
     $data = ['name' => 'thinkphp', 'age' => 10, 'email' => '*****@*****.**'];
     $validate = new Validate($rule);
     $validate->scene('edit', ['name', 'age']);
     $validate->scene('edit');
     $result = $validate->check($data);
     $this->assertEquals(true, $result);
 }