laravel - 如何使用“sometimes()” - Laravel 验证,foreach 构造中的方法
问题描述
我正在使用 Laravel,我遇到了下一个问题 - 我在对象中获得了一个null
变量值:$validator
class PageRequest extends Request
{
protected function getValidatorInstance()
{
$validator = parent::getValidatorInstance();
foreach (\Config::get('app.all_langs') as $locale) {
dump($locale); // !!!!! all it's ok - en, ro, ru
$validator->sometimes('alias'.$locale,'unique:pages,alias->'.$locale.'|max:255', function($input) {
dump($locale]); // ????? - null instead of en, ro, ru
}
}
}
解决方案
您需要使用该use
构造来访问闭包内的父作用域中的变量,例如function($input) use ($locale)
. 例如:
$validator->sometimes('alias'.$locale,'unique:pages,alias->'.$locale.'|max:255', function($input) use ($locale) {
dump($locale);
}