5.larval 验证规则

23 篇文章 0 订阅
accepted

在验证中该字段的值必须是yeson1true,这在同意服务协议时很有用。

active_url

该字段必须是一个基于PHP函数checkdnsrr 的有效URL

after:date

该字段必须是给定日期后的一个值,日期将会通过PHP函数strtotime传递:

'start_date' => 'required|date|after:tomorrow'

你可以指定另外一个比较字段而不是使用strtotime验证传递的日期字符串:

'finish_date' => 'required|date|after:start_date'

alpha

该字段必须是字母

alpha_dash

该字段可以包含字母和数字,以及破折号和下划线

alpha_num

该字段必须是字母或数字

array

该字段必须是PHP数组

before:date

验证字段必须是指定日期之前的一个数值,该日期将会传递给PHP strtotime函数。

between:min,max

验证字段尺寸在给定的最小值和最大值之间,字符串、数值和文件都可以使用该规则

boolean

验证字段必须可以被转化为boolean,接收true, false, 1,0, "1", "0"等输入。

confirmed

验证字段必须有一个匹配字段foo_confirmation,例如,如果验证字段是password,必须输入一个与之匹配的password_confirmation字段

date

验证字段必须是一个基于PHP strtotime函数的有效日期

date_format:format

验证字段必须匹配指定格式,该格式将使用PHP函数date_parse_from_format进行验证。你应该在验证字段时使用datedate_format

different:field

验证字段必须是一个和指定字段不同的值

digits:value

验证字段必须是数字且长度为value指定的值

digits_between:min,max

验证字段数值长度必须介于最小值和最大值之间

email

验证字段必须是格式化的电子邮件地址

exists:table.column

验证字段必须存在于指定数据表

基本使用:

'state' => 'exists:states'

指定自定义列名:

'state' => 'exists:states,abbreviation'

还可以添加更多查询条件到where查询子句:

'email' => 'exists:staff,email,account_id,1'

传递NULL作为where子句的值将会判断数据库值是否为NULL

'email' => 'exists:staff,email,deleted_at,NULL'

image

验证文件必须是图片(jpegpngbmpgif或者svg

in:foo,bar…

验证字段值必须在给定的列表中

integer

验证字段必须是整型

ip

验证字段必须是IP地址

max:value

验证字段必须小于等于最大值,和字符串、数值、文件字段的size规则一起使用

mimes:foo,bar,…

验证文件的MIMIE类型必须是该规则列出的扩展类型中的一个

MIMIE规则的基本使用:

'photo' => 'mimes:jpeg,bmp,png'

min:value

验证字段的最小值,和字符串、数值、文件字段的size规则一起使用

not_in:foo,bar,…

验证字段值不在给定列表中

numeric

验证字段必须是数值

regex:pattern

验证字段必须匹配给定正则表达式

注意:使用regex模式时,规则必须放在数组中,而不能使用管道分隔符,尤其是正则表达式中使用管道符号时。

required

验证字段时必须的

required_if:anotherfield,value,…

验证字段在另一个字段等于指定值value时是必须的

required_with:foo,bar,…

验证字段只有在任一其它指定字段存在的话才是必须的

required_with_all:foo,bar,…

验证字段只有在所有指定字段存在的情况下才是必须的

required_without:foo,bar,…

验证字段只有当任一指定字段不存在的情况下才是必须的

required_without_all:foo,bar,…

验证字段只有当所有指定字段不存在的情况下才是必须的

same:field

给定字段和验证字段必须匹配

size:value

验证字段必须有和给定值相value匹配的尺寸,对字符串而言,value是相应的字符数目;对数值而言,value是给定整型值;对文件而言,value是相应的文件字节数

string

验证字段必须是字符串

timezone

验证字符必须是基于PHP函数timezone_identifiers_list的有效时区标识

unique:table,column,except,idColumn

验证字段在给定数据表上必须是唯一的,如果不指定column选项,字段名将作为默认column

指定自定义列名:

'email' => 'unique:users,email_address'

自定义数据库连接

有时候,你可能需要自定义验证器生成的数据库连接,正如上面所看到的,设置unique:users作为验证规则将会使用默认数据库连接来查询数据库。要覆盖默认连接,在数据表名后使用”.“指定连接:

'email' => 'unique:connection.users,email_address'

强制一个唯一规则来忽略给定ID

有时候,你可能希望在唯一检查时忽略给定ID,例如,考虑一个包含用户名、邮箱地址和位置的更新属性界面,当然,你将会验证邮箱地址是唯一的,然而,如果用户只改变用户名字段而并没有改变邮箱字段,你不想要因为用户已经拥有该邮箱地址而抛出验证错误,你只想要在用户提供的邮箱已经被别人使用的情况下才抛出验证错误,要告诉唯一规则忽略用户ID,可以传递ID作为第三个参数:

'email' => 'unique:users,email_address,'.$user->id

添加额外的where子句:

还可以指定更多条件给where子句:

'email' => 'unique:users,email_address,NULL,id,account_id,1'

url

验证字段必须是基于PHP函数filter_var过滤的的有效URL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值