Unique
ΠΠ°ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° 2024-07-25
Unique
ΠΠ°Π»ΠΈΠ΄ΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ (Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ·
Π½ΠΈΡ
Π½Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ
ΡΡΡΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ '7'
ΠΈ 7
ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ (ΡΡΡΠΎΠΊΠ° ΠΈ ΡΠΈΡΡΠ°,
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ). ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄ΡΡΠ³ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΎΠΏΡΠΈΡ normalizer.
See also
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΈΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Collection constraint.
See also
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ UniqueEntity.
??????????? ? | ???????? ??? ?????? |
????? | Unique |
????????? | UniqueValidator |
ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΡΠΈΠΏΠ° array
ΠΈΠ»ΠΈ
\Traversable
. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, $contactEmails
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
ΡΡΡΠΎΠΊ:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Person.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
#[Assert\Unique]
protected array $contactEmails;
}
ΠΠΏΡΠΈΠΈ
fields
ΡΠΈΠΏ: array
| string
ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠΎΠ»Ρ
latitude
, longitude
ΠΈ label
. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠ»ΡΠΊΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΎΠΏΡΠΈΡ fields
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΡΠ°Π²ΠΈΡΡΡ
Π΄ΠΎΠ»Π³ΠΎΡΡ+ΡΠΈΡΠΎΡΡ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ:
1 2 3 4 5 6 7 8 9 10
// src/Entity/PointOfInterest.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class PointOfInterest
{
#[Assert\Unique(fields: ['latitude', 'longitude'])]
protected array $coordinates;
}
groups
type: array
| string
default: null
It defines the validation group or groups of this constraint. Read more about validation groups.
message
ΡΠΈΠΏ: string
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ:
???????? | ???????? |
---|---|
{{ value }} |
??????? ???????? (invalid) |
normalizer
ΡΠΈΠΏ: PHP-Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: null
ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ PHP-Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ΅, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΠ΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ 'trim'
, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ PHP-ΡΡΠ½ΠΊΡΠΈΡ
trim ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ
ΠΏΡΠΎΠ±Π΅Π»Ρ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ ΠΊΠΎΠ½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ.
ΠΠ°ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° 2024-07-25
payload
ΡΠΈΠΏ: mixed
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: null
ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π°, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρ. Π‘ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ ΠΠ°Π»ΠΈΠ΄Π°ΡΠΎΡ, Π½ΠΎ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΠΈΡΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠ½Ρ-ΡΠ½Π΄Π΅ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.