Laravel框架 -- Validator 可用的验证规则
accepted
字段值为 yes, on, 或是 1 时,验证才会通过。这在确认"服务条款"是否同意时很有用。
active_url
字段值通过 PHP 函数 checkdnsrr 来验证是否为一个有效的网址。
after:date
验证字段是否是在指定日期之后。这个日期将会使用 PHP strtotime 函数验证。
alpha
字段仅全数为字母字串时通过验证。
alpha_dash
字段值仅允许字母、数字、破折号(-)以及底线(_)
alpha_num
字段值仅允许字母、数字
array
字段值仅允许为数组
before:date
验证字段是否是在指定日期之前。这个日期将会使用 PHP strtotime 函数验证。
between:min,max
字段值需介于指定的 min 和 max 值之间。字串、数值或是文件都是用同样的方式来进行验证。
confirmed
字段值需与对应的字段值 foo_confirmation 相同。例如,如果验证的字段是 password ,那对应的字段 password_confirmation 就必须存在且与 password 字段相符。
date
字段值通过 PHP strtotime 函数验证是否为一个合法的日期。
date_format:format
字段值通过 PHP date_parse_from_format 函数验证符合 format 制定格式的日期是否为合法日期。
different:field
字段值需与指定的字段 field 值不同。
digits:value
字段值需为数字且长度需为 value。
digits_between:min,max
字段值需为数字,且长度需介于 min 与 max 之间。
boolean
字段必须可以转换成布尔值,可接受的值为 true, false, 1, 0, "1", "0"。
字段值需符合 email 格式。
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'
image
文件必需为图片(jpeg, png, bmp, gif 或 svg)
in:foo,bar,...
字段值需符合事先给予的清单的其中一个值
integer
字段值需为一个整数值
ip
字段值需符合 IP 位址格式。
max:value
字段值需小于等于 value。字串、数字和文件则是判断 size 大小。
mimes:foo,bar,...
文件的 MIME 类需在给定清单中的列表中才能通过验证。
MIME规则基本用法
'photo' => 'mimes:jpeg,bmp,png'
min:value
字段值需大于等于 value。字串、数字和文件则是判断 size 大小。
not_in:foo,bar,...
字段值不得为给定清单中其一。
numeric
字段值需为数字。
regex:pattern
字段值需符合给定的正规表示式。
注意: 当使用regex模式时,您必须使用数组来取代"|"作为分隔,尤其是当正规表示式中含有"|"字串。
required
字段值为必填。
required_if:field,value
字段值在 field 字段值为 value 时为必填。
required_with:foo,bar,...
字段值 仅在 任一指定字段有值情况下为必填。
required_with_all:foo,bar,...
字段值 仅在 所有指定字段皆有值情况下为必填。
required_without:foo,bar,...
字段值 仅在 任一指定字段没有值情况下为必填。
required_without_all:foo,bar,...
字段值 仅在 所有指定字段皆没有值情况下为必填。
same:field
字段值需与指定字段 field 等值。
size:value
字段值的尺寸需符合给定 value 值。对于字串来说,value 为需符合的字串长度。对于数字来说,value 为需符合的整数值。对于文件来说,value 为需符合的文件大小(单位 kb)。
timezone
字段值通过 PHP timezone_identifiers_list 函数来验证是否为有效的时区。
unique:table,column,except,idColumn
字段值在给定的数据库中需为唯一值。如果 column(字段) 选项没有指定,将会使用字段名称。
Occasionally, you may need to set a custom connection for database queries made by the Validator. As seen above, setting unique:users as a validation rule will use the default database connection to query the database. To override this, do the following:
$verifier = App::make('validation.presence');
$verifier->setConnection('connectionName');
$validator = Validator::make($input, [
'name' => 'required',
'password' => 'required|min:8',
'email' => 'required|email|unique:users',
]);
$validator->setPresenceVerifier($verifier);
唯一(Unique)规则的基本用法
'email' => 'unique:users'
指定一个自定义的字段名称
'email' => 'unique:users,email_address'
强制唯一规则忽略指定的 ID
'email' => 'unique:users,email_address,10'
增加额外的 Where 条件
您也可以指定更多的条件式到 "where" 查询语句中:
'email' => 'unique:users,email_address,NULL,id,account_id,1'
上述规则为只有 account_id 为 1 的数据列会做唯一规则的验证。
url
字段值需符合 URL 的格式。
注意: 此函数会使用 PHP filter_var 方法验证。
Laravel框架 -- Validator 可用的验证规则的更多相关文章
- [麦先生]在Laravel框架里实现邮箱验证---发送邮件
在经过一段时间的使用后,发现在项目中很多地方需要用到用户验证,以短信验证和邮箱验证为主流趋势,小麦总结了如果在Laravel框架中实现发送邮件功能,以后会陆续更上如何实现短信验证..... 在.env ...
- Laravel的unique和exists验证规则的优化
本文是Laravel实战:任务管理系统(一)的扩展阅读 原文链接:http://pilishen.com/posts/Improvements-to-the-Laravel-unique-and-ex ...
- 关于脱离laravel框架使用Illuminate/Validation验证器
1.关于Illuminate/Validation验证器 Validation 类用于验证数据以及获取错误消息. github地址:github.com/illuminate/validation 文 ...
- laravel框架中注册信息验证
.路由配置 <?php Route::. 控制器分配页面及验证表单提交内容 <?php .form 表单验证 {{ Form::open(array().slideUp(); < ...
- 关于laravel框架的Auth::attempt验证失败
按照官方文档进行认证 发现不管怎么样都是失败 if (Auth::attempt(array('email' => $email, 'password' => $password), tr ...
- [麦先生]Laravel框架实现发送短信验证
今天在做到用户注册和个人中心的安全管理时,我借助实现第三方短信平台在Laravel框架中进行手机验证的设置; 由于我们做的是一个为客户提供医疗咨询和保健品网站,所以对客户个人隐私的保护显得尤为重要, ...
- Laravel框架一:原理机制篇
Laravel作为在国内国外都颇为流行的PHP框架,风格优雅,其拥有自己的一些特点.以下是本人一点粗浅的认识,不敢奢求他人同意,更不能一一而足,仅为自己做一点总结而已. 一. 请求周期 Laravel ...
- laravel 框架登录 实际操作
//登录中间件 Route::group(['middleware'=>'checkage'],function (){ Route::get('/mou/list','MouControlle ...
- laravel 可用验证规则
accepted 验证的字段必须为 yes. on. 1.或 true.这在确认服务条款是否同意时相当有用. active_url 相当于使用了 PHP 函数 dns_get_record,验证的字段 ...
随机推荐
- Ubuntu proxychains && setProxy及 unsetProxy
https://www.socks-proxy.net/ (ubuntu proxy )[ lantern -addr 0.0.0.0:8787 proxychains4 printenv http: ...
- scrapy爬虫系列之七--scrapy_redis的使用
功能点:如何发送携带cookie访问登录后的页面,如何发送post请求登录 简单介绍: 安装:pip3 install scrapy_redis 在scrapy的基础上实现了更多的功能:如reques ...
- HTTP 请求头中的 X-Forwarded-For(转)
原文:https://imququ.com/post/x-forwarded-for-header-in-http.html 我一直认为,对于从事 Web 前端开发的同学来说,HTTP 协议以及其他常 ...
- loki之内存池SmallObj[原创]
loki库之内存池SmallObj 介绍 loki库的内存池实现主要在文件smallobj中,顾名思义它的优势主要在小对象的分配与释放上,loki库是基于策略的方法实现的,简单的说就是把某个类通过模板 ...
- Nginx rewrite 中break与last指令的区别
location /break/ { rewrite ^/break/(.*) /test/$1 break; return 402; } location /last/ { rewrite ^/la ...
- HDFS的Java API
HDFS Java API 可以用于任何Java程序与HDFS交互,该API使我们能够从其他Java程序中利用到存储在HDFS中的数据,也能够使用其他非Hadoop的计算框架处理该数据 为了以编程方式 ...
- 2.4 The Object Model -- Computed Properties and Aggregate Data with @each(计算的属性和使用@each聚合数据)
1. 通常,你可能有一个计算的属性依赖于数组中的所有元素来确定它的值.例如,你可能想要计算controller中所有todo items的数量,以此来确定完成了多少任务. export default ...
- Educational Codeforces Round 58 Solution
A. Minimum Integer 签到. #include <bits/stdc++.h> using namespace std; #define ll long long ll l ...
- python webdriver 测试框架-数据驱动json文件驱动的方式
数据驱动json文件的方式 test_data_list.json: [ "邓肯||蒂姆", "乔丹||迈克尔", "库里||斯蒂芬", & ...
- 20165207 学习基础与C语言基础调查反馈
文章阅读体会与学习调查反馈 文章阅读体会 我在娄老师的文章里了解到了"做中学"的概念.并且通过娄老师慷慨地分享的相关经验,我对于它有了进一步的理解以及体会.以下是我收获以及我的感想 ...