cak*_*rus 3 ruby regex validation ruby-on-rails
我的简单日期验证正则表达式无法正常工作......
validates_format_of :dob, :with => /\d{2}\/\d{2}\/\d{4}/, :message => "^Date must be in the following format: mm/dd/yyyy"
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?我正在尝试验证日期是否采用以下格式:mm/dd/yyyy - 当我输入应该是有效数据的内容时,我仍然会收到错误消息.
感谢你目前的帮助.这是我的表单中传递dob值的代码片段:
<tr>
<td>
<%= f.label :dob, "Date of Birth: " %>
</td>
<td>
<%= calendar_date_select_tag "user[dob]", "", :format => :american, :year_range => 50.years.ago..0.years.ago %>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我认为这可能与我使用这个js日历插件有关.一个相关的问题是,如果帖子验证失败,我的dob值不会在字段中维护 - 先前输入的日期值清除...
谢谢!
汤姆
您可能正在使用字符串字段来存储日期.因此,任何期望DateTime或Time值的帮助程序都将无法正常工作.您将需要调查多参数赋值在Rails中找出正确的方式做你想做的事(multiparemeter任务是发送后面4场到Rails,并让他们转换成魔法DateTime或Time对象).
换句话说:如果您使用的是真正的DateTime字段(对于这种情况应该如此),validates_format_of将不会产生任何影响(或会产生不利影响)