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 结合使用。
选项
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 许可获得许可。