Я перепробовал все подходы
с регулярным выражением,
if @fromdate.to_s =~ /\A(?:0?[1-9]|1[0-2])\/(?:0?[1-9]|[1-2]\d|3[01])\/\d{4}\Z/
Я просто хотел избежать слепой инъекции sql
Поэтому, пожалуйста, прокомментируйте ваши предложения.Заранее спасибо.
Вы можете проанализировать строку с помощью DateTime.parse Затем передать проанализированную дату в SQL-запрос.Это проще и надежнее, чем проверка с использованием регулярных выражений.
DateTime.parse
В качестве альтернативы вы можете использовать DateTime.strptime в ожидаемом формате, как это предлагается @Cary Swovelad.
DateTime.strptime