前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(转载非原创)Laravel表单验证类的手动启用方式

(转载非原创)Laravel表单验证类的手动启用方式

作者头像
xlj
修改2021-07-12 09:47:53
5380
修改2021-07-12 09:47:53
举报
文章被收录于专栏:XLJ的技术专栏XLJ的技术专栏

以下是一个标准的验证类。

代码语言:javascript
复制
namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class ArticleRequest extends FormRequest
{

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
           'title' => 'required|unique:posts|max:255',
            'body' => 'required',
        ];
    }

    public function messages()
    {
        return [
            'title.required'    => '标题必填',
            'title.unique'      => '标题已存在',
            'title.max'         => '标题长度不能超过:max',
            ‘body.required’     => '内容必填',
        ];
    }
}

一般我们在控制器中可以以依赖注入的方式启用它,例如:

代码语言:javascript
复制
    use App\Http\Requests\ArticleRequest;

    class ArticleController extends Controller
    {
        public function create(Request $request)
        {
            return view('article.create');
        }
        public function store(ArticleRequest $request)
        {
            //如进入到这里说明参数验证通过,可以继续添加操作
            ...
        }
    }

当然,如果非要把添加的展示与保存都写在create方法中,通过判断区分哪个操作,有什么办法呢?当然有,代码如下:

代码语言:javascript
复制
    class ArticleController extends Controller
    {
        public function create(Request $request)
        {
            if ($request->ajax() && $request->isMethod('POST')) {
                //添加保存逻辑
                //手动启用表单验证类
                $validator = app('App\Http\Requests\ArticleRequest');
            }
            
            //添加展示页面
            return view('article.create');
        }
    }

转载来源:https://www.cnblogs.com/luyuqiang/p/14990974.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档