如何验证参数值(字符串)?

时间:2018-07-29 05:12:43

标签: ruby-on-rails

我有时间输入,我只想接受几个输入值(早上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之类的字符串值的方法吗?

更新: 上面的代码应该可以验证字符串。

1 个答案:

答案 0 :(得分:0)

您应向我们提供更多信息。没有它,我们无法帮助您。对象实际上得到了什么?因为您将列类型更改为字符串,所以您的代码正常。它检查value是否等于您指定的字符串之一。

无论如何,您始终可以在没有Rails DSL的情况下亲自进行验证:

try:
    # ...
except BaseException as e:
    print(str(e))

只需更改方法名称,使其与您的业务逻辑相对应并添加条件即可。