1. Validate

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
/**
* @Author: leroi * @Date: 2018-12-13 11:26:48 * @Last Modified by: leroi * @Last Modified time: 2018-12-13 13:28:55
*/
namespace App\Http\Requests\LoRa;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
/**
*
*/
class Test
{
public static function search($data)
{
$rules = [
'tags' => [
'integer',
'max:30',
function ($attribute, $value, $fail) {
if ($value <= 10) {
$fail(':attribute must be at least 10.');
}
}
]
];
$messages = [];
return self::compileErrMsg($data, $rules, $messages);
}
private static function compileErrMsg($data, $rules, $messages)
{
$validator = Validator::make($data, $rules, $messages);
if ($validator->fails()) {
$result = [];
foreach (json_decode(json_encode($validator->errors()), true) as $k => $v) {
$result[$k] = $v[0];
}
return $result;
die;
}
return false;
}
}

2. Controller

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
/**
* @Author: leroi * @Date: 2018-11-27 17:03:51 * @Last Modified by: leroi * @Last Modified time: 2018-12-13 11:46:50
*/
namespace App\Http\Controllers\api;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redis;
use App\Http\Requests\LoRa\Test;
/**
*
*/
class TestController extends Controller
{
public function test(Request $request)
{
$input = $request->only(['tags']);
if ($validate_error = Test::search($input)) {
return $validate_error;
}
return [];
}
}

本文早期发布于个人 CSDN 博客:查看原文

站内搜索

没有找到内容!