# 验证器
## 简介
全框架实现思路最清晰的一个组件,与Laravel等框架的验证器作用相同,用于验证表单有效性。
规则格式:
```
$rules = [
'field|中文名' => 'required|max:255|in:123,456'
];
```
首先,键名主要要有表单字段名(name),用|隔开字段名和翻译,翻译便于显示错误信息。键值则是应用的规则,具体规则看下面。规则用|隔开,若规则有参数,则在规则名称后面加:,并填写参数,参数列表用,隔开。以上符号必须使用半角符号,否则不识别。
若字段允许留空,但一旦填写就必须进行验证,那么要在规则开头添加nullable这条规则。即:
```
$rules = [
'field|中文名' => 'nullable|max:255'
];
```
## 规则列表
### required
字段必须有值
### equal
字段必须等于某个值,参数就是那个值
### email
字段必须为一个有效的邮箱地址
### number
字段必须是一个有效数字
### min
设置字段位数最小值或者字段最小值,第一个参数为最小值,第二个参数为字段的类型,若为str则判断位数,若为num则判断值
### max
设置字段位数最大值或者字段最大值,同上
### between
设置字段位数范围或者字段值范围,第一、二个参数设置下限和上限,第三个参数为字段类型,同上
### confirm
用于二次验证密码,验证字段必须名为confirm_xxx,xxx为设置验证的字段
例如,我要验证password字段,验证字段要设为confirm_password
### in
字段的值必须在列表中,不限参数个数
例如:
```
$rule = ['xxx' => 'required|in:a,b,c'];
```
表示xxx字段必须为a,b,c这三个值中任意一个
### unique
判断字段是否在数据表中唯一。例如,验证邮箱是否已被占用:
```
$rule = ['email' => 'required|email|unique:users,mail_adress'];
```
有两个参数,第一个参数指定在哪个表查询,第二个参数指定数据表字段名(若不指定,则以表单字段名为准)
### nullable
设置字段可以为空。必须放在第一个。