2009-05-20 16 views
0

Ich möchte, dass das Anmeldeformular auf meiner Site ein Feld hat, das die Summe einer mathematischen Gleichung annimmt und die Validierung der Schienen verwendet, um es zu validieren. Was ist der beste Weg, es zu tun?Validierung einer mathematischen Gleichung mit Gleisvalidierung

d.h

Was ist 6 + 9? [8]

Fehlermeldung: Sie haben die falsche Nummer eingegeben

Antwort

1

Aufschalten der validate Methode in Ihrer Modellklasse. Denken Sie daran, dass das Modellobjekt, das Sie für die Aktion new erstellen, eine andere Instanz als die für die Aktion create erstellte ist. Daher müssen Sie den Zufallszahlenwert oder den mathematischen Ausdruck irgendwo in Ihrem Formular speichern, damit Sie ihn während der Überprüfung neu erstellen können .

Dann etwas entlang der Linien von:

def validate 
    unless math_equation_answered? 
    errors.add("math_answer", "is incorrect") 
    end 
end 

Die Implementierung von math_equation_answered? bis zu Ihnen, und math_answer sollte, was auch immer Feldmodell geändert werden Sie verwenden für die Antwort des Benutzers.

+0

Ich werde das versuchen und sehen, ob es funktioniert, danke Steve – IBarnes

Verwandte Themen