Laravel 5中控制器中的IP地址验证

时间:2015-09-12 07:56:53

标签: validation laravel-5 ip-address

我正在尝试找到一种方法来验证IP地址,然后再将其提交到我的数据库,我尝试了很多Google搜索,但无法在我的Laravel控制器中执行此操作。你能帮忙吗?理解

2 个答案:

答案 0 :(得分:3)

在控制器内部使用。导入验证器类的命名空间并尝试验证IP(IP4 / IP6)地址。 Laravel 5Laravel 5.X

public function update(Request $request) 
{
   $validator = Validator::make($request->all(), [
        'ip_address' => 'required|ip'
    ]);
}

if ($validator->fails()) {
    return "Invalid IP address!"
}

如果您想分别验证IP4和IP6,请使用以下代码。

'ip_address' => 'required|ipv4'

'ip_address' => 'required|ipv6'

快乐编码!!!

答案 1 :(得分:2)

您可以在控制器内部执行此操作:

public function update(Request $request)
{
    // Get the current users IP address and add it to the request
    $request->merge(['ip_address' => $_SERVER['REMOTE_ADDR']]);

    // Validate the IP address contained inside the request
    $this->validate($request, [
        'ip_address' => 'required|ip'
    ]);
}

$request->merge()方法允许您向表单请求添加项目,然后您只能在IP上发出简单的验证请求。

或者,您可以将所有这些移动到它自己的Request类并将其注入到方法中。