4.5.7 getNeeded
La méthode getNeeded
permet de redéfinir
le caractère obligatoire des attributs.
/** * @param \Doc $document * @return RenderAttributeNeeded needed attribute list property */ public function getNeeded(\Doc $document);
Les classes Dcp\Ui\DefaultView
et Dcp\Ui\DefaultEdit
retournent les
obligations par défaut, en fonction du contrôle de vue.
Cette méthode doit retourner un objet de la classe Dcp\Ui\RenderAttributeNeeded
qui contient les obligations à appliquer pour chacun des attributs.
La classe RenderAttributeNeeded
expose la méthode setNeeded
qui permet de
modifier l'obligation d'un attribut en particulier. Cette obligation outrepasse
l'obligation par défaut ainsi que l'obligation indiquée par un masque issu du
contrôle de vue.
/** * Affect new needed property to an attribute * This property is more prioritary than mask * @param string $attributeId attribute identifier * @param bool $isNeeded attribut is needed or not * @return $this * @throws Exception */ public function setNeeded($attributeId, $isNeeded);
Cette obligation ne peut pas être appliquée à un attribut structurant, ni à un attribut contenu dans un tableau.
4.5.7.1 Exemple
Modification de l'obligation de 2 attributs en surchargeant la classe de vue par défaut.
use Dcp\Ui\RenderAttributeNeeded; use Dcp\AttributeIdentifiers\My_family; class RenderConfigCustom extends \Dcp\Ui\DefaultView { /** * @param \Doc $document * @return \Dcp\Ui\RenderAttributeNeeded new mandatory attribute */ public function getNeeded(\Doc $document) { $needed = parent::getNeeded($document); $needed->setNeeded(My_family::my_phone, true); $needed->setNeeded(My_family::my_level, false); return $needed; } }