Nehmen wir an, ich habe ein Produkt, das eine Farbe haben kann. Abhängig vom Produkttyp kann das Farbfeld erforderlich sein oder nicht.
Wenn Farbe immer benötigt wird, würde ich im Produktmodell
haben %Vor%Ich möchte jedoch, dass dies je nach Produkttyp dynamisch ist.
Soll das in der Steuerung gemacht werden? Ich könnte mir vorstellen, etwas in der Steuerung wie folgt zu haben:
%Vor%Was ist der beste Weg, um das zu erreichen?
Danke
Sie können ein Szenario verwenden. Im Modell:
%Vor%Und in der Steuerung:
%Vor% Die erforderliche Farbe wird also validiert, wenn das Szenario des Modells hasColour
Ein Ansatz besteht darin, eine benutzerdefinierte Validierungsregel zu verwenden. Zum Beispiel die Regel:
%Vor%Und dann die Validator-Methode in derselben Modellklasse:
%Vor%Weitere Informationen: Erstellen Sie Ihre eigene Validierungsregel
Wenn Sie eine kompliziertere Logik erstellen möchten, können Szenarien Ihre Anforderungen nicht erfüllen. Dann können Sie die Methode init außer Kraft setzen und die gesamte Logik, die die Validierungsregeln dort definiert, ausführen, indem Sie dem $ validationRules-Array Ergebnisse hinzufügen. Und die Methode in rules () gibt dieses Array zurück. So ähnlich:
%Vor%