Now, I do trim for each input separately like below code:
$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'));
Is any approach to do Trim at the same time with
Input::all()
or Input::only('username', 'password', 'email')
?
And what is the best practice to do this?
Note: This solution won't work if any of your inputs are arrays (such as "data[]").
You may try this, trim using this one line of code before validation:
Input::merge(array_map('trim', Input::all()));
Now do the rest of your coding
$username = Input::get('username'); // it's trimed
// ...
Validator::make(...);
If you want to exclude some inputs from trimming then you may use following instead if all()
Input::except('password');
Or you may use
Input::only(array('username'));
Update: Since Laravel 5.4.*
inputs are trimmed because of new TrimStrings
middleware. So, no need to worry about it because this middleware executes on every request and it handles array inputs as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With