Php 通过Laravel中的函数运行每个输入请求

Php 通过Laravel中的函数运行每个输入请求,php,laravel,Php,Laravel,对拉雷维尔来说很新鲜。试着建立一个简单的联系方式来熟悉它。我通过ajax发送表单数据,并用javascript处理每个输入: encodeURIComponent($("#contact-name").val()) 我如何运行所有这些输入 urldecode() 在php端,无需手动执行每一项操作 例如,我想用这个: $this->validate($request, [ 'name' => 'required', 'email' => 'r

对拉雷维尔来说很新鲜。试着建立一个简单的联系方式来熟悉它。我通过ajax发送表单数据,并用javascript处理每个输入:

encodeURIComponent($("#contact-name").val())
我如何运行所有这些输入

urldecode()
在php端,无需手动执行每一项操作

例如,我想用这个:

$this->validate($request, [
        'name' => 'required',
        'email' => 'required|email',
        'message' => 'required'
]);
我不能,因为电子邮件地址中的@被编码,所以有效电子邮件的验证规则返回false


我需要让请求中的所有输入通过urldecode运行,然后返回,这样我就可以使用Laravel提供的所有方便的东西

就在您$this->validate,编写以下代码:

foreach($request->all() as $key => $value)
{   
    $request->merge(array( $key => urldecode($value) ));
}

上面的foreach循环将用URL解码的值替换所有输入字段。

非常好的解决方案!我不敢相信我在筛选文档后错过了$request的合并方法。非常感谢。