在我的申请中,我要求用户写下他们的车牌,没有任何破折号。它仅用于荷兰的车牌,它总是由数字和字母组成,总长度为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}
如果您需要更多信息,我很乐意与您分享。提前谢谢。
编辑: 我想从用户输入中删除任何空格和短划线。我应该如何在代码中编写它?
答案 0 :(得分:0)
您可以使用before_validation
回调删除不需要的字符:
before_validation :clean_data
def clean_data
self.license_plate = self.license_plate.gsub(/[ \-]/, '') unless self.license_plate.nil?
end