1、Validate
<?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
<?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 [];
}
}