Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Laravel背包基本请求验证

Laravel背包基本请求验证
EN

Stack Overflow用户
提问于 2022-09-01 07:27:05
回答 1查看 77关注 0票数 1

我有一个问题,我认为很容易完成。我无法让这个非常基本的请求验证工作。我可以在create表单和编辑表单上输入"Bob“,而不会收到错误消息。它只是插入到数据库中。

这是我的密码。我觉得我在做/不做傻事。

UserCrudController.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Requests\UserRequest;
use Backpack\CRUD\app\Http\Controllers\CrudController;
use Backpack\CRUD\app\Library\CrudPanel\CrudPanelFacade as CRUD;

/**
 * Class UserCrudController
 * @package App\Http\Controllers\Admin
 * @property-read \Backpack\CRUD\app\Library\CrudPanel\CrudPanel $crud
 */
class UserCrudController extends CrudController
{
    use \Backpack\CRUD\app\Http\Controllers\Operations\ListOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\ShowOperation;

    /**
     * Configure the CrudPanel object. Apply settings to all operations.
     * 
     * @return void
     */
    public function setup()
    {
        CRUD::setModel(\App\Models\User::class);
        CRUD::setRoute(config('backpack.base.route_prefix') . '/user');
        CRUD::setEntityNameStrings('user', 'users');
    }

    /**
     * Define what happens when the List operation is loaded.
     * 
     * @see  https://backpackforlaravel.com/docs/crud-operation-list-entries
     * @return void
     */
    protected function setupListOperation()
    {
        CRUD::column('name');
        CRUD::column('email');
        //CRUD::column('password');

        /**
         * Columns can be defined using the fluent syntax or array syntax:
         * - CRUD::column('price')->type('number');
         * - CRUD::addColumn(['name' => 'price', 'type' => 'number']); 
         */
    }

    /**
     * Define what happens when the Create operation is loaded.
     * 
     * @see https://backpackforlaravel.com/docs/crud-operation-create
     * @return void
     */
    protected function setupCreateOperation()
    {
        CRUD::setValidation(UserRequest::class);

        CRUD::field('name');
        CRUD::field('email');
        //CRUD::field('password');

        /**
         * Fields can be defined using the fluent syntax or array syntax:
         * - CRUD::field('price')->type('number');
         * - CRUD::addField(['name' => 'price', 'type' => 'number'])); 
         */
    }

    /**
     * Define what happens when the Update operation is loaded.
     * 
     * @see https://backpackforlaravel.com/docs/crud-operation-update
     * @return void
     */
    protected function setupUpdateOperation()
    {
        $this->setupCreateOperation();
    }
}

UserRequest.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class UserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        // only allow updates if the user is logged in
        return backpack_auth()->check();
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => ['required','min:5','max:255'],
        ];
    }

    /**
     * Get the validation attributes that apply to the request.
     *
     * @return array
     */
    public function attributes()
    {
        return [
            //
        ];
    }

    /**
     * Get the validation messages that apply to the request.
     *
     * @return array
     */
    public function messages()
    {
        return [
            //
        ];
    }
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-05 02:56:11

我认为正在发生的事情是,你没有加载控制器。

如果您已经安装了PermissionManager,并且现在希望配置UserCrudController,那么您需要手动注册路由并指向新的控制器,或者交替地(并且可能建议)将新控制器绑定到包控制器,以便控制器得到“服务”而不是包控制器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// In AppServiceProvider.php or any other provider of your choice:

$this->app->bind(
    \Backpack\PermissionManager\app\Http\Controllers\UserCrudController::class,
    \App\Http\Controllers\Admin\UserCrudController::class
);

如果不需要更改Controller中的所有内容,则可以直接扩展包UserCrudController,只更改所需的内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Http\Controllers\Admin;

class UserCrudController extends \Backpack\PermissionManager\app\Http\Controllers\UserCrudController
{
}

包控制器已经扩展了CrudController

验证是在setupCreateOperation()上添加的,您可以重写该验证以满足您的需要。

干杯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73571935

复制
相关文章
[laravel] laravel验证请求参数
laravel 验证请求参数,有自带的规则,如果有特殊的规则,可以自己写正则验证逻辑
唯一Chat
2021/09/23
4K1
[laravel] laravel验证请求参数
Laravel Validation 表单验证(二、验证表单请求)
创建表单请求验证 面对更复杂的验证情境中,你可以创建一个「表单请求」来处理更为复杂的逻辑。表单请求是包含验证逻辑的自定义请求类。可使用 Artisan 命令 make:request 来创建表单请求类:
joshua317
2022/10/31
29.4K0
通过 Laravel 表单请求类实现字段验证和错误提示
在上一篇教程中,我们已经演示了如何在控制器方法中对表单请求字段进行验证,并且提到如果请求字段很多很复杂,都写到控制器方法里面会导致控制器臃肿,从单一职责原则来说需要将表单请求验证拆分出去,然后通过类型提示的方式注入到控制器方法。今天,我们就来实现这个拆分,Laravel 提供了表单请求类的功能帮助我们快速完成这一架构调整。
学院君
2021/01/08
3.9K0
在 Laravel 控制器中进行表单请求字段验证
在 Web 应用中,用户提交的数据往往是不可预测的,因此一个非常常见的需求是对用户提交的表单请求进行验证,以确保用户输入的是我们所期望的数据格式。很多 Web 框架都对此功能专门提供了工具集,Laravel 也不例外,而且这个工具集异常丰富,基本上涵盖了目前主流的所有验证规则,即使是一些非常个性化的验证,也可以基于 Laravel 验证类的扩展功能来自定义验证规则,非常强大。接下来,我们就一起来看看如何在 Laravel 中对表单请求进行验证。
学院君
2021/01/08
5.9K0
Laravel表单验证
今天来说一下laravel框架的表单验证实例代码,下面一起来看看吧! 一、场景 用户前台登录页面,如下图 二、提交方式 AJAX提交 三、说明 1、laravel框架表单提交需要有CSRF验证 2、
申霖
2020/11/23
3.5K0
Laravel表单验证
Laravel验证码
验证码 是防止恶意破解密码、刷票、论坛灌水、刷页的手段。验证码有 多种类型。 本项目中我们将使用图片验证码,其原理是让用户输入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被光学字符识别软件(OCR)自动辨识。由于计算机无法识别验证码的图片,所以回答出问题的用户就可以被认为是人类。
申霖
2020/11/23
1.5K0
laravel 中数据验证
相关验证参考文档:https://blog.csdn.net/qq_35641923/article/details/79174555
句小芒
2022/12/29
1.2K0
Laravel Validation 表单验证(一、快速验证)
Laravel 提供了几种不同的方法来验证传入应用程序的数据。默认情况下,Laravel 的控制器基类使用 ValidatesRequests trait,它提供了一种方便的方法去使用各种强大的验证规则来验证传入的 HTTP 请求。
joshua317
2022/10/31
3.8K0
3分钟短文:Laravel把数据验证的手伸向“请求体”
上一章讲述了表单数据验证,从前端页面接收用户的输入信息,通过POST方法提交数据到相应路由地址,
程序员小助手
2020/10/11
8770
3分钟短文:Laravel把数据验证的手伸向“请求体”
Laravel – 验证码(captcha)
打开resources/zh-CN/validation.php,在总数组中追加如下键值对:
全栈程序员站长
2022/07/08
1.7K0
laravel中csrf验证详解
laravel默认开启了csrf验证,当form表单提交数据时须带上csrf的token值,校验不通过就返回419错误
章鱼喵
2019/05/14
2.3K0
laravel中csrf验证详解
laravel5.2 多表验证
然后我们在views目录下建一个admin文件夹,将layouts文件夹包括里边的内容都复制过来,再将home.blade.php文件复制过来,重命名一下dashboard,再建一个auth文件夹,将login和register文件放进去,如下图
horan1
2023/07/25
2200
laravel5.2 多表验证
[Laravel] Laravel的基本使用
使用Laravel的基本路由,实现get请求响应,找到文件app/Http/routes.php
唯一Chat
2019/09/10
1.3K0
laravel 表单验证之自定义验证规则
以添加用户为例 主要验证的字段 tusername、username、password、phone 辅助验证的字段 password_confirmation 验证第一种: //添加操作 public function store(Request $request) { $this->validate($request, [ 'tusername' => 'required', 'username' => 'require
友儿
2022/09/11
2.1K0
Laravel 请求生命周期
当需要使用一个框架、工具或者服务时,在使用前应对其运行原理进行研究。随着原理研究工作的不断深入,能让我们在使用时更得心应手。
柳公子
2018/09/17
2.9K0
Laravel 请求生命周期
Laravel 多态关系的表单验证
相信大家使用 Laravel 开发应用的时候都会有评论模块吧,而且我们通常将该模块设计为多态关系(如果你对这个关系还不明白的话,请赶紧打开 Laravel 文档数据库关系章节复习一遍吧!)。 先看看我们的数据库结构: id commentable_id commentable_type body 那么遇到一个问题,如果写入数据呢?一般来讲有两种方式,而我们通常用的一种是从父模型使用关系写入,比如我们有一个 App\Thread 类,它里面对评论的关系是这样的: class Thread {    pu
overtrue
2018/07/05
2.2K0
Laravel踩坑日记之请求
<input type="text" name="username" value="{{ old('username') }}">
Meng小羽
2019/12/23
4241
点击加载更多

相似问题

Laravel背包请求获取空输入

20

如何允许“获取”请求搜索Laravel背包

15

Laravel背包

11

如何验证laravel背包中图像的重量?

11

Laravel背包缓存

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文