ПоследовательностьГрупп
класс GroupSequence
Последовательность групп валидации.
При валидации последовательности групп, каждая группа будет валидироваться только если все предыдущие группы в последовательности прошли успешно. Например:
$validator->validate($address, null, new GroupSequence(array('Basic', 'Strict')));
На первом шаге будут валидироваться все ограничения, относящиеся к группе "Basic". Если ни одно ограничение не потерпит неудачи, валидатор затем проверит ограничения в группе "Strict". Это полезно, например, если "Strict" содержит дорогостоящие проверки, требующие много ресурсов процессора или медленных внешних сервисов. Обычно вы не хотите выполнять дорогостоящие проверки, если какие-либо из дешёвых проверок завершатся неудачей.
При добавлении метаданных к классу, вы можете переопределить группу "Default" этого класса с помощью последовательности групп:
/**
* @GroupSequence({"Address", "Strict"})
*\/
class Address
{
// ...
}
Всякий раз, когда вы валидируете этот объект в группе "Default", будет валидироваться и последовательность групп:
$validator->validate($address);
Если вы хотите выполнить ограничения группы "Default" для класса с переопределённой группой по умолчанию, передайте имя класса в качестве имени группы вместо этого:
$validator->validate($address, null, "Address")
Свойства
| массив строк|массив массивов|ПоследовательностьГрупп[] | $groups | Группы в последовательности. | |
| строка|ПоследовательностьГрупп | $cascadedGroup | Группа, в которой валидируются связанные объекты при валидации этой последовательности. |
Методы
| __construct(массив $groups) Создаёт новую последовательность групп. |
Подробности
__construct(массив $groups)
Создаёт новую последовательность групп.
Параметры
| массив | $groups | Группы в последовательности |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Validator/Constraints/GroupSequence.html