Laravel 框架可用的 Validator 验证规则

2019-11-15  本文已影响0人  晨曦入诗

Validator 可用的验证规则:

  1. accepted
    字段值为 yes,on, 或是 1 时,验证才会通过。这在服务条款确认是否同意时很有用。

  2. active_url
    字段值通过 PHP 函数 checkdnsrr 来验证是否为有效的一个网址。

  3. after:date
    验证字段是否在指定日期之后。这个日期将会使用 PHP strtotime 函数验证。

  4. alpha
    字段仅全数为字母字串时通过验证。

  5. alpha_dash
    字段值仅允许字母、数字、破折号(-)以及下划线(_)。

  6. alpha_num
    字段值仅允许字母、数字。

  7. array
    字段仅允许为数组。

  8. before:date
    验证字段是否在指定日期之前。这个日期将会使用 PHP strtotime 函数验证。

  9. between:min,max
    字段介于指定的 min 和 max 之间。字串、数值或是文件都是用同样的方式来进行验证

  10. confirmed
    字段值需与对应的字段值 foo_confirmation 相同。例如,如果验证的字段是 password ,那对应的字段 password_confirmation 就必须存在且与 password 字段相符。

  11. date
    字段值通过 PHP strtotime 函数验证是否为一个合法的日期。

  12. date_format:format
    字段值通过 PHP date_parse_from_format 函数验证符合 format 制定格式的日期是否为合法日期。

  13. different:field
    字段值需与指定的字段 field 值不同。

  14. digits:value
    字段值需为数字且长度需为 value。

  15. digits_between:min,max
    字段值需为数字,且长度需介于 min 与 max 之间。

  16. boolean
    字段必须可以转换成布尔值,可接受的值为 true, false, 1, 0, "1", "0"。

  17. email
    字段值需符合 email 格式。

  18. exists:table,column
    字段值需与存在于数据库 table 中的 column 字段值其一相同。
    Exists 规则的基本使用方法
    'state' => 'exists:states'
    指定一个自定义的字段名称
    'state' => 'exists:states,abbreviation'
    您可以指定更多条件且那些条件将会被新增至 "where" 查询里:
    'email' => 'exists:staff,email,account_id,1'
    /* 这个验证规则为 email 需存在于 staff 这个数据库表中 email 字段中且 account_id=1 */
    通过NULL搭配"where"的缩写写法去检查数据库的是否为NULL
    'email' => 'exists:staff,email,deleted_at,NULL'

  19. image
    文件必需为图片(jpeg, png, bmp, gif 或 svg)

  20. in:foo,bar,...
    字段值需符合事先给予的清单的其中一个值

  21. integer
    字段值需为一个整数值

  22. ip
    字段值需符合 IP 位址格式。

  23. max:value
    字段值需小于等于 value。字串、数字和文件则是判断 size 大小。

  24. mimes:foo,bar,...
    文件的 MIME 类需在给定清单中的列表中才能通过验证。

  25. MIME规则基本用法
    'photo' => 'mimes:jpeg,bmp,png'

  26. min:value
    字段值需大于等于 value。字串、数字和文件则是判断 size 大小。

  27. not_in:foo,bar,...
    字段值不得为给定清单中其一。

  28. numeric
    字段值需为数字。

  29. regex:pattern
    字段值需符合给定的正规表示式。
    注意: 当使用regex模式时,您必须使用数组来取代"|"作为分隔,尤其是当正规表示式中含有"|"字串。

  30. required
    字段值为必填。

  31. required_if:field,value
    字段值在 field 字段值为 value 时为必填。

  32. required_with:foo,bar,...
    字段值 仅在 任一指定字段有值情况下为必填。

  33. required_with_all:foo,bar,...
    字段值 仅在 所有指定字段皆有值情况下为必填。

  34. required_without:foo,bar,...
    字段值 仅在 任一指定字段没有值情况下为必填。

  35. required_without_all:foo,bar,...
    字段值 仅在 所有指定字段皆没有值情况下为必填。

  36. same:field
    字段值需与指定字段 field 等值。

  37. size:value
    字段值的尺寸需符合给定 value 值。对于字串来说,value 为需符合的字串长度。对于数字来说,value 为需符合的整数值。对于文件来说,value 为需符合的文件大小(单位 kb)。

  38. timezone
    字段值通过 PHP timezone_identifiers_list 函数来验证是否为有效的时区。

  39. unique:table,column,except,idColumn
    字段值在给定的数据库中需为唯一值。如果 column(字段) 选项没有指定,将会使用字段名称。

  40. 唯一(Unique)规则的基本用法

  41. 'email' => 'unique:users'
    指定一个自定义的字段名称

  42. 'email' => 'unique:users,email_address'
    强制唯一规则忽略指定的 ID

  43. 'email' => 'unique:users,email_address,10'
    增加额外的 Where 条件
    您也可以指定更多的条件式到 "where" 查询语句中:

  44. 'email' => 'unique:users,email_address,NULL,id,account_id,1'
    上述规则为只有 account_id 为 1 的数据列会做唯一规则的验证。

  45. url
    字段值需符合 URL 的格式。
    注意: 此函数会使用 PHP filter_var 方法验证。

上一篇下一篇

猜你喜欢

热点阅读