如何在ruby-on-rails上为3位数写一个验证?

Tri*_*rip 3 regex validation ruby-on-rails

在我的控制器中我有这个:

validates_presence_of :order_of_importance, :on => :create, :with => /^\d{3}$/
Run Code Online (Sandbox Code Playgroud)

但如果他们打字,这仍然会验证(我认为):

4231
Run Code Online (Sandbox Code Playgroud)

但我想确保他们输入3位数的字符.

有任何想法吗?

Nie*_*sol 9

/^\d{3}$/应该这样做.它确保数字在字符串末尾的开头和结尾匹配.

此外,您不需要i最后,因为数字不是套.

  • @Kolik所写的是正确的但您应该使用validates_format_of而不是validates_presence_of来使用正则表达式 (4认同)