ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 验证器 ## 简介 全框架实现思路最清晰的一个组件,与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 设置字段可以为空。必须放在第一个。