laravel验证用户功能

Kri*_*ofe 9 php validation unique laravel

blade.php

......
<tr>
  <td>{{ Form::label('cameraMac', 'Mac: ') }}</td>
  <td>{{ Form::text('cameraMac')}}</td>
</tr>
......
Run Code Online (Sandbox Code Playgroud)

Controller.php这样

$data = Input::all();
function transform($cameraMac) {
  return strtoupper($cameraMac);
}

//validation here

$user = User::find($data['user_id']);

if($data["cameraMac"])
{
    $user->camera_id = transform($data["cameraMac"]);
    Cloud_camera::create(['id' => transform($data["cameraMac"]), 'user_id' => $user->id]);
}

$user->save();
Run Code Online (Sandbox Code Playgroud)

我需要将cameraMac转换为主键以存储在db中.如何transform()在验证规则中使用函数'nullable|unique:cloud_cameras,id|size:6'.也就是说,如何在验证过程中调用此函数.

ale*_*ino 3

如果您需要以某种方式转换输入数据,可以使用以下merge方法:

Input::merge(['cameraMac' => transform(Input::get('cameraMac')]);
$this->validate(Input::getFacadeRoot(), [
    'cameraMac' => 'nullable|unique:cloud_cameras,id|size:6'
]);
Run Code Online (Sandbox Code Playgroud)

Illuminate\Http\Request $request作为个人喜好,我会在控制器方法中键入提示,然后

$request->merge(['cameraMac' => transform($request->cameraMac)]);
$this->validate($request, ['cameraMac' => 'nullable|unique:cloud_cameras,id|size:6'
]);
Run Code Online (Sandbox Code Playgroud)