platform/api/symfony/Component/Validator/Constraints/GroupSequence.yaml
2024-09-02 10:44:11 -07:00

40 lines
2.6 KiB
YAML

name: GroupSequence
class_comment: null
dependencies: []
properties: []
methods:
- name: __construct
visibility: public
parameters:
- name: groups
comment: "# * A sequence of validation groups.\n# *\n# * When validating a group\
\ sequence, each group will only be validated if all\n# * of the previous groups\
\ in the sequence succeeded. For example:\n# *\n# * $validator->validate($address,\
\ null, new GroupSequence(['Basic', 'Strict']));\n# *\n# * In the first step,\
\ all constraints that belong to the group \"Basic\" will be\n# * validated. If\
\ none of the constraints fail, the validator will then validate\n# * the constraints\
\ in group \"Strict\". This is useful, for example, if \"Strict\"\n# * contains\
\ expensive checks that require a lot of CPU or slow, external\n# * services.\
\ You usually don't want to run expensive checks if any of the cheap\n# * checks\
\ fail.\n# *\n# * When adding metadata to a class, you can override the \"Default\"\
\ group of\n# * that class with a group sequence:\n# * #[GroupSequence(['Address',\
\ 'Strict'])]\n# * class Address\n# * {\n# * // ...\n# * }\n\
# *\n# * Whenever you validate that object in the \"Default\" group, the group\
\ sequence\n# * will be validated:\n# *\n# * $validator->validate($address);\n\
# *\n# * If you want to execute the constraints of the \"Default\" group for a\
\ class\n# * with an overridden default group, pass the class name as group name\
\ instead:\n# *\n# * $validator->validate($address, null, \"Address\")\n#\
\ *\n# * @author Bernhard Schussek <bschussek@gmail.com>\n# */\n# #[\\Attribute(\\\
Attribute::TARGET_CLASS)]\n# class GroupSequence\n# {\n# /**\n# * The groups in\
\ the sequence.\n# *\n# * @var array<int, string|string[]|GroupSequence>\n# */\n\
# public array $groups;\n# \n# /**\n# * The group in which cascaded objects are\
\ validated when validating\n# * this sequence.\n# *\n# * By default, cascaded\
\ objects are validated in each of the groups of\n# * the sequence.\n# *\n# *\
\ If a class has a group sequence attached, that sequence replaces the\n# * \"\
Default\" group. When validating that class in the \"Default\" group, the\n# *\
\ group sequence is used instead, but still the \"Default\" group should be\n\
# * cascaded to other objects.\n# */\n# public string|GroupSequence $cascadedGroup;\n\
# \n# /**\n# * Creates a new group sequence.\n# *\n# * @param array<string|string[]|GroupSequence>\
\ $groups The groups in the sequence"
traits: []
interfaces: []