Laravel 4 : Best Practice to Trim Input before Validation(Laravel 4:验证前修剪输入的最佳实践)
问题描述
现在,我分别对每个输入进行修剪,如下代码:
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()
或 Input::only('username', 'password', 'email')
?
这样做的最佳做法是什么?
And what is the best practice to do this?
推荐答案
注意: 如果您的任何输入是数组(例如data[]").
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()));
现在完成其余的编码
$username = Input::get('username'); // it's trimed
// ...
Validator::make(...);
如果你想从修剪中排除一些输入,那么你可以使用以下 if all()
If you want to exclude some inputs from trimming then you may use following instead if all()
Input::except('password');
或者你可以使用
Input::only(array('username'));
更新:由于 Laravel 5.4.*
输入因新的 TrimStrings
中间件而被修剪.因此,无需担心,因为此中间件会在每个请求上执行,并且它还处理数组输入.
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.
这篇关于Laravel 4:验证前修剪输入的最佳实践的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Laravel 4:验证前修剪输入的最佳实践
基础教程推荐
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01