牌照输入形式

时间:2013-03-18 06:49:53

标签: ruby-on-rails ruby forms

在我的申请中,我要求用户写下他们的车牌,没有任何破折号。它仅用于荷兰的车牌,它总是由数字和字母组成,总长度为6个字符。我的问题是:

如何确保输入始终为6位数?

我有一个< _form.html.erb中的p> -tag说明用户应该只记下他们的牌照而不用破折号,但这当然不是最好的方法。

在我撰写的_form.html.erb中

<strong><%= f.label :license_plate, 'Kenteken' %></strong><br />
<%= f.text_field :license_plate %>

我的模型包含

validates :license_plate, :presence => true, :uniqueness => true, :length => {:minimum => 6, :maximum => 6}

如果您需要更多信息,我很乐意与您分享。提前谢谢。

编辑: 我想从用户输入中删除任何空格和短划线。我应该如何在代码中编写它?

1 个答案:

答案 0 :(得分:0)

您可以使用before_validation回调删除不需要的字符:

before_validation :clean_data

def clean_data
  self.license_plate = self.license_plate.gsub(/[ \-]/, '') unless self.license_plate.nil?
end