#1 by cswell
Hello, I'm trying to do a form field validation and error message for a string form field where multiple different answers are possible. def error_message(player, values): solutions = dict( test1 = '3.14' and '3.15', test2 = '3.16' ) error_messages = dict() for field_name in solutions: if values[field_name] != solutions[field_name]: error_messages[field_name] = 'Wrong answer' return error_messages For example, in the first form, the subject could type in "3.14" or "3.15" and either would be a valid answer. But anything outside of these two possible answers would result in an error message. So far if I code "'3.14' and '3.15'", only 3.15 results in a correct answer. If I code "'3.14' or '3.15'", then 3.14 is the correct answer. I know that I could instead do a multiple-choice question, but I wanted to know if this could be done in the first place.
#2 by BonnEconLab
I don’t think that you can use the logical operator “and” in the way you do. The following might work (I can’t test it right now): def error_message(player, values): solutions = dict( test1 = ['3.14', '3.15'], test2 = ['3.16'], ) error_messages = dict() for field_name in solutions: if values[field_name] not in solutions[field_name]: error_messages[field_name] = 'Wrong answer' return error_messages