2009-05-20 10 views
0

Je souhaite que le formulaire d'inscription sur mon site comporte un champ qui prenne la somme d'une équation mathématique et utilise la validation des rails pour la valider. Quel est le meilleur moyen de le faire?validation d'une équation mathématique avec validation des rails

i.e

Qu'est-ce que 6 + 9? [8]

Message d'erreur: Vous avez entré le mauvais numéro

Répondre

1

Remplacer la méthode validate dans votre classe de modèle. Rappelez-vous que l'objet modèle que vous créez pour l'action new est une instance différente de celle créée pour l'action create. Vous devrez donc sauvegarder la graine aléatoire ou l'expression mathématique quelque part dans votre formulaire afin de pouvoir la recréer lors de la validation. .

Ensuite, quelque chose le long des lignes de:

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

La mise en œuvre de math_equation_answered? est à vous, et math_answer devrait être modifié à tout champ modèle que vous utilisez pour la réponse de l'utilisateur.

+0

Je vais essayer ça et voir si ça marche merci Steve – IBarnes

Questions connexes