php - laravel 使用用户函数验证

标签 php laravel validation unique

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/

相关文章:

php - 将 php session 设置为 html 输入值

laravel - 'cross-env' 不被识别为内部或外部命令,

validation - Jersey 2.6 REST 服务升级到 Java 8 tomcat 8 异常 :java. lang.NoSuchMethodError : javax. validation.Configuration.getBootstrapConfiguration

jsf - 添加 <f :validateLength> tag customised for a field 的错误消息

validation - C#-在MVVM中使用DataAnnotations进行验证并在 View 中显示有意义的错误消息

javascript - 如何将javascript作为函数参数

php - 未找到字符串,尽管应该找到

php - 用于显示 PHP 警告和错误的 Sublime Text 扩展

linux - 尚未创建缓存文件夹的 Laravel 文件夹权限

php - Laravel 5.2 登录 session 不持久