2017-11-07 7 views
-1

Ich arbeite gerade an meinem Ruby on Rails-Auftrag und ich habe dieses Formular, wo Benutzer eingeben müssen, in welcher Abteilung sie (Junior oder Senior) und ihrem Geburtstag beitreten möchten. Nun möchte ich ihren Geburtstag nach der Abteilung validieren, der sie beitreten wollen. Zum Beispiel, wenn der Benutzer die Junior-Division auswählt, muss er 15 bis 20 Jahre alt sein, und wenn er Senior ist, muss er 20 bis 25 Jahre alt sein. Ich habe verschiedene Syntax aus dem Internet versucht, aber nichts funktioniert. Bitte hilf mir. Danke im Voraus.So validieren Sie Geburtstag unter bestimmten Bedingungen. Ruby on rails

+1

Wir können ' Ich helfe dir ohne deinen Entwurf. – BadMiscuit

+0

Front-End- oder Back-End-Validierungen? – krishnar

+0

der eine im Modell. – Tatama

Antwort

0

Hier einige Logik .. hart, ohne irgendeine Art von Code zu sehen

Sie können ihr Alter trainieren, indem Sie:

age = (currentyear - birthday year value) 

Mögliche Validierung so etwas wie:

if (age > 15 and < 20 and selected=senior) { 
//error you are junior 
} 
else if (age > 20 and < 25 and select=junior){ 
//error you are senior 
} 

Wieder nicht eine vollständige Antwort, aber sehen Sie, ob Sie etwas mit der Logik und Ruby-Syntax tun können ...

+0

Validate haben: validate_birthday privat def validate_birthday wenn birthday.present? && division == "Midget" && birthday <15.Jahre.Jahrgang.zum_i && Geburtstag> 18.Jahre.Jahrgang.to_i errors.add (: Geburtstag, 'Du solltest 15 bis 18 Jahre alt sein, um dich für diese Abteilung anzumelden. ') Ende – Tatama