Skip to content

Commit 2334b14

Browse files
committed
update: 验证器自定义规则--使用规则对象
php artisan make:rule Uppercase
1 parent 952afa0 commit 2334b14

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

laravel/app/Http/Controllers/Bus/NewApiController.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
use App\Events\TestEvent;
1313
use App\Http\Repository\NewBusRepository;
14+
use App\Rules\Uppercase;
1415
use App\Tasks\TestTask;
1516
use Hhxsv5\LaravelS\Swoole\Task\Event;
1617
use Hhxsv5\LaravelS\Swoole\Task\Task;
@@ -125,12 +126,15 @@ public function jwt(Request $request)
125126
'title' => [
126127
'required',
127128
'max:255',
128-
function ($attribute, $value, $fail) {
129+
function($attribute, $value, $fail) {
129130
if ($value === 'foo') {
130131
$fail($attribute.' is invalid.');
131132
}
132133
},
133134
],
135+
'upper' => [
136+
'required', 'string', new Uppercase()
137+
]
134138
];
135139

136140
$messages = [

laravel/app/Rules/Uppercase.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace App\Rules;
4+
5+
use Illuminate\Contracts\Validation\Rule;
6+
7+
class Uppercase implements Rule
8+
{
9+
/**
10+
* 判断验证规则是否通过。
11+
*
12+
* @param string $attribute
13+
* @param mixed $value
14+
* @return bool
15+
*/
16+
public function passes($attribute, $value)
17+
{
18+
return strtoupper($value) === $value;
19+
}
20+
21+
/**
22+
* 获取验证错误消息。
23+
*
24+
* @return string
25+
*/
26+
public function message()
27+
{
28+
return ':attribute 必须是大写字母';
29+
}
30+
}

0 commit comments

Comments
 (0)