跳到内容

IdenticalTo

编辑此页

验证一个值与选项中定义的另一个值是否完全相同。要强制验证一个值 *不* 完全相同,请参阅 NotIdenticalTo

警告

此约束使用 === 进行比较,因此 3"3" *不* 被认为是相等的。使用 EqualTo== 进行比较。

基本用法

以下约束确保

  • Person 类的 firstName 属性等于 Mary *并且* 是一个字符串
  • age 属性等于 20 *并且* 是整数类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Entity/Person.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Person
{
    #[Assert\IdenticalTo('Mary')]
    protected string $firstName;

    #[Assert\IdenticalTo(
        value: 20,
    )]
    protected int $age;
}

选项

groups

类型: array | string 默认值: null

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

message

类型: string 默认值: 此值应与 {{ compared_value_type }} {{ compared_value }} 完全相同。

这是当值不完全相同时将显示的消息。

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

参数 描述
{{ compared_value }} 期望值
{{ compared_value_type }} 期望值类型
{{ value }} 当前(无效)值

payload

类型: mixed 默认值: null

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

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

propertyPath

类型: string 默认值: null

它定义了用于进行比较的对象属性。

例如,如果你想相对于同一对象的 $startDate 属性来比较某个对象的 $endDate 属性,请在 $endDate 的比较约束中使用 propertyPath="startDate"

提示

当使用此选项时,其值在错误消息中以 {{ compared_value_path }} 占位符的形式提供。虽然不打算将其包含在显示给最终用户的错误消息中,但在使用 API 在客户端进行任何映射逻辑时,它非常有用。

value

类型: mixed [默认选项]

此选项是必需的。它定义了比较值。它可以是字符串、数字或对象。

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