README.md
7.85 KB
#Validator
$validator = Validator::make(
['url_str' => 'http://www.baidu.com'],
['url_str' => 'url']
);
判断错误
$validator->fails();
判断正确
$validator->passes();
获取所有验证的第一个错误,可以指定验证字段的第一个错误
$validator->messages()->first([$key=null]);
获取所有验证的错误
$validator->messages()->all();
获取指定验证字段的所有错误
$validator->messages()->get($key);
判断是否有错误信息,可以指定验证字段
$validator->messages()->has([$key]);
设定自定义错误信息
$validator->messages()->customMessages(['key'=>'mes']);
设定指定验证字段错误消息
$validator->messages()->add($key,$mes);
TODO 待加入
唯一(Unique)规则的基本用法,指定一个自定义的字段名称
(
唯一:数据库.表,字段,指定ID
unique:dbname.table,column,except
唯一:表,字段,指定ID
unique:table,column,except
唯一:表,字段
unique:table,column
唯一:表(使用验证字段作为数据库验证字段)
unique:table
)
'email' => 'unique:users,email_address'
##active_url
Validator::make(
['url'=>'active_url']
)
Validator::make(
['url_str' => 'http://www.baidu.com'],
['url_str' => 'url']
);
字段值通过 PHP 函数 checkdnsrr 来验证是否为一个有效的网址。
##url
Validator::make(
['url'=>'active_url']
)
Validator::make(
['url_str' => 'http://www.baidu.com'],
['url_str' => 'url']
);
网址格式不正确。
##after
Validator::make(
['time'=>'after:date']
)
Validator::make(
['url_str' => '2015-04-01'],
['url_str' => 'after:date']
);
验证字段是否是在指定日期之后。这个日期将会使用 PHP strtotime 函数验证。
##alpha
Validator::make(
['name'=>'alpha']
)
Validator::make(
['url_str' => 'asd'],
['url_str' => 'alpha']
);
字段仅全数为字母字串时通过验证。
##alpha_dash
Validator::make(
['name'=>'alpha_dash']
)
Validator::make(
['url_str' => '..'],
['url_str' => 'alpha_dash']
);
字段值仅允许字母、数字、破折号(-)以及底线(_)
##alpha_num
Validator::make(
['name'=>'alpha_num']
)
Validator::make(
['url_str' => '120l'],
['url_str' => 'alpha_num']
);
字段值仅允许字母、数字
##array
Validator::make(
['list'=>'array']
)
Validator::make(
['url_str' => array()],
['url_str' => 'array']
);
字段值仅允许为数组
##between:min,max
Validator::make(
['number'=>'between:min,max']
)
Validator::make(
['url_str' => 170000],
['url_str' => 'between:1,5']
);
字段值需介于指定的 min 和 max 值之间。字串、数值或是文件都是用同样的方式来进行验证。
##confirmed
Validator::make(
['password_confirmation'=>'confirmed:password']
)
Validator::make(
[
'password' => 170000,
'password_confirmation' => 1700001
],
['password_confirmation' => 'confirmed:password']
);
字段值需与对应的字段值 foo_confirmation 相同。例如,如果验证的字段是 password ,那对应的字段 password_confirmation 就必须存在且与 password 字段相符。
##date
Validator::make(
['time'=>'date']
)
Validator::make(
[
'date_time' => '2015-05'
],
['date_time' => 'date']
);
字段值通过 PHP strtotime 函数验证是否为一个合法的日期
##digits:value
Validator::make(
['time'=>'digits:value']
)
Validator::make(
[
'date_time' => 20
],
['date_time' => 'digits:2']
);
字段值需为数字且长度需为 value
##digits_between:min,max
Validator::make(
['number'=>'digits_between:min,max']
)
Validator::make(
[
'date_time' => 200
],
['date_time' => 'digits_between:2,3']
);
字段值需为数字,且长度需介于 min 与 max 之间
##boolean
Validator::make(
['is_open'=>'boolean']
)
Validator::make(
[
'date_time' => false
],
['date_time' => 'boolean']
);
字段必须可以转换成布尔值,可接受的值为 true, false, 1, 0, "1", "0"
Validator::make(
['email'=>'email']
)
Validator::make(
[
'date_time' => 'peter@gmail.com'
],
['date_time' => 'email']
);
字段值需符合 email 格式
##in
Validator::make(
['code'=>'in:1,2,3,4,5']
)
Validator::make(
[
'date_time' => 1
],
['date_time' => 'in:1,2,3,4,5']
);
字段值需符合事先给予的清单的其中一个值
##not_in
Validator::make(
['code'=>'in:1,2,3,4,5']
)
Validator::make(
[
'date_time' => 10
],
['date_time' => 'not_in:1,2,3,4,5']
);
字段值不得为给定清单中其一
##integer
Validator::make(
['number'=>'integer']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'integer']
);
字段值需为一个整数值
##ip
Validator::make(
['ip'=>'ip']
)
Validator::make(
[
'date_time' => '127.0.0.1'
],
['date_time' => 'ip']
);
字段值需符合 IP 位址格式
##max
Validator::make(
['number'=>'max:value']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'max:1']
);
字段值需小于等于 value。字串、数字和文件则是判断 size 大小
##min
Validator::make(
['number'=>'min:value']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'min:1']
);
字段值需大于等于 value。字串、数字和文件则是判断 size 大小
##numeric
Validator::make(
['number'=>'numeric']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'numeric']
);
字段值需为数字
##regex:pattern
Validator::make(
['number'=>'regex:pattern']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'regex:[\w]']
);
字段值需符合给定的正规表示式。
##required
Validator::make(
['number'=>'required']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'required']
);
字段值为必填
##same:field
Validator::make(
['number'=>'same:field']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'same:1']
);
字段值需与指定字段 field 等值
##size:value
Validator::make(
['number'=>'size:value']
)
Validator::make(
[
'date_time' => '1'
],
['date_time' => 'size:1']
);
字段值的尺寸需符合给定 value 值。对于字串来说,value 为需符合的字串长度。对于数字来说,value 为需符合的整数值
##code
判断是否有错误
if ($validator->fails() == true) {
}
判断是否通过
if ($validator->passes() == true) {
}
获取所有错误
foreach ($validator->messages()->all() as $key => $val) {
}
获取指定错误
$validator->messages()->get('email');