On Mon, 19 Oct 2020 at 16:17, Theodore Brown <theodor...@outlook.com> wrote:
> > In theory nested attributes could be supported in the same way with > the `#[]` syntax, but it's more verbose and I think less intuitive > (e.g. people may try to use the grouped syntax in this context, but > it wouldn't work). Also the combination of brackets delineating both > arrays and attributes reduces readability: > > #[Assert\All([ > #[Assert\Email], > #[Assert\NotBlank], > #[Assert\Length(max: 100)] > ])] > I think you're presupposing how a feature would work that hasn't even been specced out yet. On the face of it, it would seem logical and achievable for the above to be equivalent to this: #[Assert\All( #[ Assert\Email, Assert\NotBlank, Assert\Length(max: 100) ] )] i.e. for a list of grouped attributes in nested context to be equivalent to an array of nested attributes. Unless nested attributes were limited to being direct arguments to another attribute, the *semantics* of nested attributes inside arrays would have to be defined anyway (e.g. how they would look in reflection, whether they would be recursively instantiated by newInstance(), etc). Regards, -- Rowan Tommins [IMSoP]