php laravel javascript表单验证,Laravel三种方法验证表单数据

关于数据验证,每一个开发者一定会碰到,这篇文章详细记录了验证的步骤,真正的一看懂就懂,就算不懂,跟着操作也能实现。总结了三种常用的验证方法,但是推荐使用第三方法。优点自己去体会吧~~~

方法一、控制器验证

通过 Illuminate\Http\Request 中的validate()方法验证public function store(Request $request)

{

$validate = $request->validate([

'name'  =>  'required|max:10',

],[

'name.required' => '文件名必须填写',

'name.max'      => '文件名不能超过10个汉字',

]);

方法二、手动创建验证器

通过 Illuminate\Support\Facades\Validator 中的make()方法验证

第一步:第一步:控制器编写验证代码<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\Validator;

class UserController extends Controller

{

public function store(Request $request)

{

// 接收数据

$data = $request->all();

// 错误信息

$messages = [

'name.required' =>  '文件名必须填写',

'name.max'      =>  '文件名不能超过10个汉字',

];

// make前三个参数:数据,验证规则,错误信息

$validator = Validator::make($data , [

'name'  =>  'required|max:10',

] , $messages);

// 验证未通过重定向到指定界面,并提示错误信息

if ($validator->fails()) {

return redirect('post') ->withErrors($validator)->withInput();

}

// 验证通过

}

}

第二步:视图显示错误信息{{-- app/resources/views/index.post.php --}}

@if ($errors->any())

@foreach ($errors->all() as $error)

{{ $error }}

@endforeach

@endif

方法三、表单请求验证(推荐)

第一步:创建验证控制器php artisan make:request StorePostRequest该命令会在对应的目录与文件,位置在app/Http/Requests/StorePostRequest.php,文件内容如下<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StorePostRequest extends FormRequest

{

public function authorize()

{

return false;

}

public function rules()

{

return [];

}

}

第二步:修改StorePostRequest.php文件public function authorize()

{

return true;

}

第三步:在该文件中书写验证规则与错误信息// 验证规则

public function rules()

{

return [

'name'  =>  'required|max:10'

];

}

// 错误信息:添加messages()方法自定义错误信息

public function messages()

{

return [

'name.required' => '文件名必须填写',

'name.max'      => '文件名最大不能超过30个字'

];

}

第四步:控制器中使用// app/Http/Controllers/UserController.php

namespace App\Http\Controllers;

// 引入验证

use App\Http\Requests\StorePost;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\DB;

class UserController extends Controller

{

// 通过依赖注入使用验证

// 这样就可以了~~

public function store(StorePost $request)

{

$data = $request->all();

}

第五步:视图模板显示错误信息{{-- app/resources/views/index.blade.php --}}

@if ($errors->any())

@foreach ($errors->all() as $error)

{{ $error }}

@endforeach

@endif

^_^完

我是夕阳何处寻,期待和优秀的你一起同行!

夕阳何处寻

2020年06月03日

转载:感谢您对自如初博客网站的认可,所有文章均属原创文章,技术类文章转载请注明出处,“自如初博客”;文学类文章请带文本链接地址,否则视为侵权!

很赞哦!(5)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值