php – Laravel 4:驗證前修改輸入的最佳做法
現在,我為每個輸入分別修剪如下程式碼:
$username = trim(Input::get('username')); $password = trim(Input::get('password')); $email= trim(Input::get('email')); $validator = Validator::make(array('username' => $username, 'password' => $password, 'email'=> $email), array('username' => 'required|min:6', 'password' => 'required|min:6', 'email'=> 'email'));
有什麼辦法和Trim同時進行
輸入:: all()或Input :: only(‘username’,’password’,’email’)?
這樣做最好的做法是什麼?
注意:如果您的任何輸入是陣列(如“data []”),此解決方案將無法正常工作.
您可以嘗試這樣,在驗證之前使用這一行程式碼進行修剪:
Input::merge(array_map('trim', Input::all()));
現在做其餘的編碼
$username = Input::get('username'); // it's trimed // ... Validator::make(...);
如果你想從修剪中排除一些輸入,那麼你可以使用以下程式碼,如果all()
Input::except('password');
或者你可以使用
Input::only(array('username'));
更新:由於Laravel 5.4.*輸入被修剪,因為新的TrimStringsmiddleware.所以,不需要擔心它,因為這個中介軟體在每個請求上執行,它也處理陣列輸入.
http://stackoverflow.com/questions/22399326/laravel-4-best-practice-to-trim-input-before-validation