Wie im Titel. Ich möchte Abschnitt in meiner Bundle-Konfiguration haben, die einmal aktiviert ist - es hätte einige Pflichtfelder. Derzeit weiß ich nicht, wie ich das erreichen soll. Ich habe versucht canBeEnabled() und canBeDisabled() Optionen wie hier beschrieben: . Aber ohne Glück. Ich meine, auch wenn Abschnitt deaktiviert ist, wenn es Pflichtfelder enthält - der Fehler wird ausgelöst. Was ich erreichen möchte, ist Fehler geworfen zu haben, wenn Felder NUR gefüllt werden, wenn Abschnitt aktiviert ist. Gibt es einen Weg, das zu erreichen?Symfony2: Bedingte Bündelkonfigurationsabschnitte mit erforderlichen Feldern
Meine Config-Validierung:
$rootNode
->children()
->arrayNode('defaults')->canBeDisabled()
->children()
->scalarNode('firewall')->isRequired()->cannotBeEmpty()->end()
->scalarNode('user')->isRequired()->cannotBeEmpty()->end()
->arrayNode('controllers')
->children()
->booleanNode('registration')->defaultTrue()->end()
->end()
->end()
->end()
->end()
Und in meiner config:
mybundle:
defaults:
user: default
firewall: default
controllers:
registration: true
ich in der Lage sein möchte "Defaults" zu deaktivieren, aber wenn dieser Abschnitt (was sollte aktiviert sein Standard): user
und firewall
sollten explizit festgelegt werden.
Ok, aber ich möchte nur einen Zweig der Konfiguration deaktivieren, also möchte ich etwas wie: 'mybundle: defaults: ~'.Aber es funktioniert nicht, Zweig wird noch für erforderliche Felder validiert. –
@ ŁukaszZaroda Aktualisierte Antwort – Twifty
@ ŁukaszZaroda Ihre Frage wurde beantwortet. Vielleicht möchten Sie akzeptieren. – Twifty