27. März 2012
Conditional Validations [Rails]

Conditional Validations [Rails]

Für mich war es vor kurzem nötig, die Validierung eines Feldes unter bestimmten Bedingungen durchzuführen. Da diese Information - obgleich es total einfach ist - irgendwie schwer aufzutreiben war, veranschauliche ich das hier mal an einem einfachen Beispiel. Wenn ich in einem Shop eine Bestellung tätige, dann möchte ich, dass ein Unternehmen seine Steuernummer angibt. Von einer Privatperson benötige ich diese Angabe jedoch nicht. Abhängig von der ausgewählten Rechtsform des Bestellers, validiere ich in folgendem Beispiel die Angabe einer Steuernummer.

customer.rb

validates :rechtsform, :presence => true validates :ust_id, :presence => true, :if => :ust_id_notwendig? def ust_id_notwendig? self.rechtsform == "gmbh" end