我使用text_field在表单上输入24小时。正则表达式适用于除空字符串之外的所有内容。为什么呢?
<div class="field">
<%= f.label :start_tod %><br>
<%= f.text_field :start_tod,
value: (tod_to_str(@availability.start_tod) || '00:00'),
pattern: '([01][0-9]|2[0-3])[:|\.][0-5][0-9]|24[:|\.]00',
title: '00:00 to 24:00' %>
</div>
答案 0 :(得分:0)
要检查24小时文本格式(例如HH:mm
,可以使用以下正则表达式:
([01]?[0-9]|2[0-3]):[0-5][0-9]
在第一部分中,您有一个小组,将分别处理小时,小时的规则以0和1开头。如果是数字,则最后一部分。
您还应该基于相同的正则表达式在模型上添加一些验证,并确定在用户不填写任何内容时是否要保存空字符串或nil值。