Blade .php
......
<tr>
<td>{{ Form::label('cameraMac', 'Mac: ') }}</td>
<td>{{ Form::text('cameraMac')}}</td>
</tr>
......
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();
我需要将 cameraMac 转换为主键以存储在数据库中。如何在验证规则 'nullable|unique:cloud_cameras,id|size:6'
中使用函数 transform()
。也就是说,在验证过程中如何调用这个函数。
最佳答案
如果您需要以某种方式转换输入数据,您可以使用merge
方法:
Input::merge(['cameraMac' => transform(Input::get('cameraMac')]);
$this->validate(Input::getFacadeRoot(), [
'cameraMac' => 'nullable|unique:cloud_cameras,id|size:6'
]);
作为个人偏好,我会在 Controller 方法中输入提示 Illuminate\Http\Request $request
然后
$request->merge(['cameraMac' => transform($request->cameraMac)]);
$this->validate($request, ['cameraMac' => 'nullable|unique:cloud_cameras,id|size:6'
]);
关于php - laravel 使用用户函数验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513613/