Rails表单只接受整数

时间:2016-10-01 13:26:31

标签: ruby-on-rails validation

这可能是一个愚蠢的问题,但我有一个inp.focus(); inp.value = 'Testing'; inp.blur(); 只能接受3到5之间的值,只能接受整数(整数)。

现在我已经设法用max和min来获得正确的范围,但我仍然可以填写3,5例如。有没有办法设置它?

我一直在查看文档,但找不到任何内容。此外,由于我使用的模板,我不想使用像simple_form这样的任何宝石。

2 个答案:

答案 0 :(得分:5)

也许在您的模型中,您可以使用验证?

这样的东西
   validates :number_field, numericality: { only_integer: true }

此处提供更多信息:http://edgeguides.rubyonrails.org/active_record_validations.html#numericality

然后,如果您想向用户提供反馈,可以在控制器的create部分放置一些代码。

respond_to do |format|
if @xyz.save
#success
else
format.html { render :new }
format.json { render json: @xyz.errors, status: :unprocessable_entity }

在此处或其他地方查看actioncontroller错误以获取更多信息。

希望有所帮助。

答案 1 :(得分:0)

在您的number_field中添加“,在:3..5”

这是我的项目代码中的一个示例:

 'inputWidth',:value => 2,在:1..100%>

在表单中,它将仅接受该范围内的整数。