ci4的验证示例

//控制器中在需要验证的地方
public function yanzheng()
{if (!$this->validate(['email' => "required|valid_email",'name' => 'required|max_length[3]','age' => 'less_than[30]'])) {$this->output_json_error($this->validator->getErrors());} else {echo 'pass';die;}
}
规则参数描述例子
alphaNo如果字段包含字母字符以外的任何内容,则失败。
alpha_spaceNo如果字段包含除字母字符或空格以外的任何内容,则失败。
alpha_dashNo如果字段包含除字母数字字符、下划线破折号以外的任何内容,则失败。
alpha_numericNo如果字段包含除字母数字字符以外的任何内容,则失败。
alpha_numeric_spaceNo如果字段包含除字母数字空格字符之外的任何内容,则失败。
alpha_numeric_punctNo如果字段包含除字母数字空格或这组有限的标点符号之外的任何内容:~(波浪号)、! (感叹号)、#(数字)、$(美元)、%(百分比)、&(和号)、*(星号)、-(破折号)、_(下划线)、+(加号)、=(等号)、| (竖线), : (冒号), . (时期)
decimalNo如果字段包含十进制数以外的任何内容,则失败。 还接受数字的 +- 号。
differsYes如果字段与参数中的字段相同,则失败。differs[field_name]
exact_lengthYes如果字段不完全是参数值,则失败。 一个或多个逗号分隔值。(必须是参数个字节)exact_length[5] or exact_length[5,8,12]
greater_thanYes如果字段小于或等于参数值或不是数字,则失败。greater_than[8]
greater_than_equal_toYes如果字段小于参数值或不是数字,则失败。greater_than_equal_to[5]
hexNo如果字段包含除十六进制字符以外的任何内容,则失败。
if_existNo如果存在此规则,则验证将仅在字段键存在时返回可能的错误,而不管其值如何。
in_listYes如果字段不在预定列表中,则失败。in_list[red,blue,green]
integerNo如果字段包含除整数以外的任何内容,则失败。
is_naturalNo如果字段包含自然数以外的任何内容,则失败:0、1、2、3 等。
is_natural_no_zeroNo如果字段包含除零以外的自然数以外的任何内容,则失败:1、2、3 等。
is_not_uniqueYes检查数据库以查看给定值是否存在。 可以按字段/值忽略记录进行过滤(目前只接受一个过滤器)is_not_unique[table.field,where_field,where_value]
is_uniqueYes检查该字段值是否存在于数据库中。 可选地设置要忽略的列和值,在更新记录以忽略自身时很有用。is_unique[table.field,ignore_field,ignore_value]
less_thanYes如果字段大于或等于参数值或不是数字,则失败。less_than[8]
less_than_equal_toYes如果字段大于参数值或不是数字,则失败。less_than_equal_to[8]
matchesYes该值必须与参数中字段的值匹配matches[field]
max_lengthYes如果字段长于参数值,则失败。max_length[8]
min_lengthYes如果字段短于参数值,则失败。min_length[3]
numericNo如果字段包含除数字字符以外的任何内容,则失败。
regex_matchYes如果字段与正则表达式不匹配,则失败。regex_match[/regex/]
permit_emptyNo允许字段接收空数组、空字符串、null 或 false。
requiredNo如果字段是空数组、空字符串、null 或 false,则失败。
required_withYes当数据中存在任何其他必填字段时,该字段是必填字段。required_with[field1,field2]
required_withoutYes当所有其他字段都存在于数据中但不是必需的时,该字段是必需的。required_without[field1,field2]
stringNo确认元素是字符串的 alpha* 规则的通用替代方案
timezoneNo如果字段与每个 timezone_identifiers_list 的时区匹配,则失败
valid_base64No如果字段包含有效 Base64 字符以外的任何内容,则失败。
valid_jsonNo如果字段不包含有效的 JSON 字符串,则失败。
valid_emailNo如果字段不包含有效的电子邮件地址,则失败。
valid_emailsNo如果逗号分隔列表中提供的任何值不是有效的电子邮件,则失败。
valid_ipNo如果提供的 IP 无效,则失败。 接受“ipv4”或“ipv6”的可选参数来指定 IP 格式。valid_ip[ipv6]
valid_urlNo如果字段不包含有效 URL,则失败。
valid_dateNo如果字段不包含有效日期,则失败。 接受可选参数以匹配日期格式。valid_date[d/m/Y]
valid_cc_numberYes验证信用卡号是否与指定提供商使用的格式匹配。 目前支持的提供商有:美国运通(amex)、中国银联(unionpay)、大来卡(carteblanche)、大来卡(dinersclub)、Discover Card(发现)、Interpayment(interpayment)、JCB(jcb)、Maestro(maestro) , Dankort (dankort), NSPK MIR (mir), Troy (troy), MasterCard (万事达卡), Visa (visa), UATP (uatp), Verve (verve), CIBC Convenience Card (cibc), 加拿大皇家银行客户卡 (rbc)、TD Canada Trust Access Card (tdtrust)、Scotiabank Scotia Card (scotia)、BMO ABM Card (bmoabm)、HSBC Canada Card (hsbc)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部