NotIdenticalTo

Дата обновления перевода 2023-01-13

NotIdenticalTo

Валидирует, что значение не идентично другому значению, определённому в опциях. Чтобы гарантировать, что значение идентично, см. IdenticalTo.

Caution

Это ограничение сравнивает, используя !==, так что 3 и "3" не считаются равными. Используйте NotEqualTo, чтобы сравнивать с !=.

??????????? ? ???????? ??? ??????
????? NotIdenticalTo
????????? NotIdenticalToValidator

Базовое применение

Следующие ограничения гарантируют, что:

  • firstName класса Person не равняется Mary или тому же типу
  • age не равняется15 или тому же типу
  • Attributes
  • YAML
  • XML
  • PHP
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\NotIdenticalTo('Mary')]
    protected $firstName;

    #[Assert\NotIdenticalTo(
        value: 15,
    )]
    protected $age;
}

Опции

value

тип: mixed [опция по умолчанию ]

Эта опция обязательна. Она определяет значеие для сравнения. Это может быть строка, число или объект.

message

тип: string по умолчанию: Это значение не должно быть идентично {{ compared_value_type }} {{ compared_value }}.

Сообщение, котрое будет отображено, если значения не равны.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ compared_value }} ????????? ????????
{{ compared_value_type }} ????????? ??? ????????
{{ value }} ??????? (??????????) ????????

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.

propertyPath

тип: string

Определяет свойство объекта, значение которого используется, чтобы провести сравнение.

Например, если вы хотите сравнить свойство $endDate некоторого объекта касательно свойства $startDate того же объекта, используйте propertyPath="startDate" в ограничении сравнения $endDate.

value

тип: mixed [опция по умолчанию ]

Эта опция обязательна. Она определяет значеие для сравнения. Это может быть строка, число или объект.