2017-05-02 20 views
0

Laravel非常新。試圖設置一個簡單的聯繫表單來熟悉它。我發送通過AJAX形式數據和I中的JavaScript處理每個輸入與此:通過Laravel中的函數運行每個輸入請求

encodeURIComponent($("#contact-name").val()) 

如何可以通過

urldecode() 

在PHP端運行所有的這些輸入,而無需手動執行各一?

比如我想使用這樣的:

$this->validate($request, [ 
     'name' => 'required', 
     'email' => 'required|email', 
     'message' => 'required' 
]); 

,我不能因爲一個電子郵件地址@被編碼所以有效的電子郵件驗證規則返回假的。

我需要通過urldecode()運行請求中的所有輸入,然後放回來,以便使用Laravel提供的所有便利內容。

回答

1

之前你這 - $>驗證(...,編寫如下代碼:!

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

上述foreach循環將取代所有輸入字段與他們urldecoded值

+0

優秀的解決方案我不能相信我在篩選文檔後錯過了$ request的合併方法。謝謝! – user2287474