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

时间:2017-05-02 06:11:49

标签: php laravel

Laravel非常新鲜。尝试设置一个简单的联系表单以熟悉它。我通过ajax发送表单数据,并在javascript中处理每个输入:

$purchaseOptions = $this->
    getEntityManager()
    ->createQueryBuilder()
    ->select(['p', 'o'])
    ->from('AppBundle:PriceOption', 'p')
        ->innerJoin('p.offer', 'o')
    ->getDQL();

如何通过

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

在php端,而不必手动执行每一个?

例如我想用这个:

urldecode()

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

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

1 个答案:

答案 0 :(得分:1)

就在$ this->验证之前(...,编写以下代码:

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

以上foreach循环将用其urldecoded值替换所有输入字段。