我有时间输入,我只想接受几个输入值(早上6点7点8点9点10点11点12点...)。
在我的模型中,我尝试过:
VALID_TIMES = %w(6am 7am 8am 9am 10am 11am 12pm 1pm 2pm 3pm 4pm 5pm 6pm 7pm 8pm 9pm 10pm)
validates_inclusion_of :final_selected_time, :in => VALID_TIMES
但是它不起作用。我还根据the rails form validation documentation尝试了其他方法,但是它们似乎都无法与字符串一起使用。它们仅适用于数字。
有人知道一种验证诸如:final_selected_time
之类的字符串值的方法吗?
更新: 上面的代码应该可以验证字符串。
答案 0 :(得分:0)
您应向我们提供更多信息。没有它,我们无法帮助您。对象实际上得到了什么?因为您将列类型更改为字符串,所以您的代码正常。它检查value是否等于您指定的字符串之一。
无论如何,您始终可以在没有Rails DSL的情况下亲自进行验证:
try:
# ...
except BaseException as e:
print(str(e))
只需更改方法名称,使其与您的业务逻辑相对应并添加条件即可。