跳到内容

Ip

编辑此页

验证一个值是否为有效的 IP 地址。默认情况下,这将验证该值是否为 IPv4,但也存在许多不同的选项来验证为 IPv6 和其他多种组合。

应用于 属性或方法
Ip
验证器 IpValidator

基本用法

1
2
3
4
5
6
7
8
9
10
// src/Entity/Author.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    #[Assert\Ip]
    protected string $ipAddress;
}

注意

与大多数其他约束一样,null 和空字符串被认为是有效值。这是为了允许它们成为可选值。如果该值是必需的,一个常见的解决方案是将此约束与 NotBlank 结合使用。

选项

groups

类型: array | string 默认值: null

它定义了此约束的验证组。阅读更多关于 验证组 的信息。

message

类型: string 默认值: 这不是一个有效的 IP 地址。

如果字符串不是有效的 IP 地址,则显示此消息。

你可以在此消息中使用以下参数

参数 描述
{{ value }} 当前(无效)值
{{ label }} 相应的表单字段标签

normalizer

类型: 一个 PHP callable 默认值: null

此选项允许定义在检查给定值是否有效之前应用于该值的 PHP callable。

例如,你可能想传递 'trim' 字符串来应用 trim PHP 函数,以便在验证期间忽略前导和尾随空格。

payload

类型: mixed 默认值: null

此选项可用于将任意特定于域的数据附加到约束。配置的 payload 不会被验证器组件使用,但其处理完全取决于你。

例如,你可能想使用 几个错误级别,以便根据错误严重性在前端以不同方式呈现失败的约束。

version

类型: string 默认值: 4

这决定了 如何 验证 IP 地址。此选项基于你想要允许/拒绝的 IP 地址的范围和类型定义了很多不同的可能值

允许的范围 仅限 IPv4 地址 仅限 IPv6 地址 IPv4 和 IPv6 均可
全部 4 6 all
除私有地址外的所有地址 4_no_priv 6_no_priv all_no_priv
除保留地址外的所有地址 4_no_res 6_no_res all_no_res
除公共地址外的所有地址 4_no_public 6_no_public all_no_public
仅限私有地址 4_private 6_private all_private
仅限保留地址 4_reserved 6_reserved all_reserved
仅限公共地址 4_public 6_public all_public

7.1

*_no_public*_reserved*_public 范围在 Symfony 7.1 中引入。

这项工作,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。
目录
    版本