问题标签 [laravel-formrequest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - Laravel 自定义表单请求重定向到索引页面
我创建了一个自定义表单请求php aritisan make:request
,并添加了验证规则:
但是,它会将我重定向到索引页面。这是我的功能:
我的POST
请求实际上没有任何参数,所以我已经假设它不会到达dd
函数,而是422
在验证失败时发送错误。但它没有,而是将我重定向到我的路线/
上的页面。web.php
这是结构:
api.php:
Route::post('auths/register', [UserController::class, 'store']);
控制器:
自定义表单请求类:
当我添加所有参数时它可以工作,但是当参数不存在时我需要验证。它需要返回一个错误422
。
更多信息。使用常规Request
作品,但在使用我自己的表单请求时不使用
php - Laravel 验证自定义错误消息,有 2 种语言
我想用两种语言的自定义结构显示 Laravel 验证错误,同时使用 lang/xx/validation.php 中的默认错误消息。
例如:
我有一个扩展 formRequest 的类。
我正在覆盖响应方法
此 $error 具有基于语言环境的错误。我可以在中间件中更改本地,但我总是想要 fr 和 en 字符串。
此外,通过覆盖消息方法更改消息将不起作用,因为我无法手动输入所有验证类型。
如果我遗漏任何东西,请告诉我
php - ¿ 如何从普通请求创建自定义 FormRequest?
我发现东西丢了...
问题
我需要从 1 个普通请求构造 2 个自定义 FormRequest 让我们假设这个假场景
第一个表格请求
第二种形式请求
在控制器上:
有没有办法制作类似于这个假场景的东西。
php - Laravel:使用与数据库标识符不同的路由资源标识符时如何验证关系
我正在使用 Laravel 嵌套资源来服务于多对多关系。我正在开发一个足球应用程序,我想将比赛与赛季联系起来,例如英超联赛与 2021/22 赛季。
我想要实现的是有一条专门的路线来管理这种关系,而季节是比赛的子资源。
我的实体在数据库级别有一个自动生成的整数 ID,但我使用getRouteKeyName()
将 slug 定义为 Laravel 用于隐式模型绑定的字段。
现在,在比赛下发布新赛季时,我正在努力进行验证。请求如下所示:
值“21-22”是 Season 对象的实际 slug,但我无法在关联表中使用它进行验证,因为其中的外键使用自动生成的外键,而不是我用于隐式的列模型绑定。
为了澄清,表格如下所示:
有没有办法让 FormRequest 的唯一规则与模型绑定键一起工作,这样我就不必手动将 slug 转换为控制器内资源的实际 id?
谢谢!
validation - Laravel 8 表单请求和不需要的字段
我有一个表格请求制造商请求,其规则如下
该模型有 2 个字段名称和状态(布尔 0:非活动 1:活动)
并且存储方法是
因为我使用 $request->validated() 我只得到验证数据,在这种情况下验证数据只是名称
如果我发布名称和状态,则状态字段不会返回到 $request->validated()
如果我更改表单请求 ManufacturerRequest 并添加状态规则
和 POST 名称和状态状态现在返回到 $request->validated() 并且我可以正确保存对象。
这意味着在表单请求规则中我必须声明模型的所有字段?
例如 ,如果我有一个带有名称、地址、电话的模型,并且名称是唯一的必填字段,我必须在表单请求中声明 3 条规则
我理解正确吗?
我是 Laravel 的新手,所以任何帮助表示赞赏
laravel - Laravel 9 自定义 FormRequest 抛出“Illuminate\Session\Store 类型的对象不可调用”
我正在测试新的 laravel 9,我很遗憾地遇到了这个惊喜。
在传入更新功能上使用PHP artisan make:request UpdateUserRequest
并将其设置为我的请求类后,会发生此错误:
[2022-02-09 12:42:08] local.ERROR: Object of type Illuminate\Session\Store is not callable {"userId":2,"exception":"[object] (Error(code: 0): Object of type Illuminate\\Session\\Store is not callable at /app/vendor/symfony/http-foundation/Request.php:698)
我的代码
用户控制器:
public function update(UpdateUserRequest $request){}
更新用户请求:
到目前为止,我试图解决这个问题所做的就是看看它什么时候发生。当我将 UpdateUserRequest 的扩展类从 FormRequest 更改为 Request 时,不会发生错误。所以它似乎在FormRequest中。
在我的路由中添加了“网络”中间件也没有解决问题(来自互联网的建议)
我当然可以创建自己的类,它不扩展任何东西,只是通过使用常规的 Request 类来验证它,但这当然不是它应该如何工作的。
完整的堆栈跟踪:
laravel - Laravel 通过自定义逻辑对组合多个字段进行独特验证
我目前正在为我的项目使用Laravel 9。
这是我的验证规则
有没有一种使用 Laravel 验证规则的简短方法来做到这一点。
https://laravel.com/docs/9.x/validation#available-validation-rules
php - Laravel:使用闭包时使验证规则失败
假设我有一个用于验证FormRequest
字段唯一性的自定义逻辑,需要在数据库中找到另一个资源,如下所示:
该firstOrFail()
调用显然使请求失败并出现 404 - 未找到,而我想返回 422 并在该字段上出现验证错误。
有没有办法在使用Rule::unique()
框架提供的同时实现这一点?
提前致谢!