Ruby on rails Rails中的字符串输入到日期错误消息
我想检查用户的输入是否可以转换为日期。如果不是,则应该有一个警报,指定的值应该是date。请帮助我编辑控制器elsif部件 我的输入文本字段:Ruby on rails Rails中的字符串输入到日期错误消息,ruby-on-rails,ruby,validation,Ruby On Rails,Ruby,Validation,我想检查用户的输入是否可以转换为日期。如果不是,则应该有一个警报,指定的值应该是date。请帮助我编辑控制器elsif部件 我的输入文本字段: = text_field_tag :from, '', as: :string, class: 'datepicker form-control', placeholder: "From", label: false = text_field_tag :to, '', as: :string, class: 'datepicker form-contro
= text_field_tag :from, '', as: :string, class: 'datepicker form-control', placeholder: "From", label: false
= text_field_tag :to, '', as: :string, class: 'datepicker form-control', placeholder: "To", label: false
控制器:
def recalculate
from, to = params[:from], params[:to]
if from.empty? || to.empty?
redirect_to tarriff_path(@tarriff), alert: "Can't be empty"
elsif ???
redirect_to tarriff_path(@tarriff), alert: "Should be date"
else
...
redirect_to tarriff_path(@tarriff), notice: "Was recalculated"
end
end
您可以使用Date.parse
这里的文档
希望能有所帮助。您可以使用Date.parse
这里的文档
希望它能有所帮助。创建一个新方法来解析日期值,并返回true或false以保持代码的整洁
require 'date'
def recalculate
from, to = params[:from], params[:to]
if from.empty? || to.empty?
redirect_to tarriff_path(@tarriff), alert: "Can't be empty"
elsif valid_date?(from) && valid_date(to)
redirect_to tarriff_path(@tarriff), alert: "Should be date"
else
...
redirect_to tarriff_path(@tarriff), notice: "Was recalculated"
end
end
def valid_date(date)
Date.parse(date.to_s) rescue nil ? true : false
end
创建一个新方法来解析日期值,并返回true或false以保持代码的整洁
require 'date'
def recalculate
from, to = params[:from], params[:to]
if from.empty? || to.empty?
redirect_to tarriff_path(@tarriff), alert: "Can't be empty"
elsif valid_date?(from) && valid_date(to)
redirect_to tarriff_path(@tarriff), alert: "Should be date"
else
...
redirect_to tarriff_path(@tarriff), notice: "Was recalculated"
end
end
def valid_date(date)
Date.parse(date.to_s) rescue nil ? true : false
end