Teacher
のフィールドは:teacher_birthday
です。私は:teacher_birthday
を表示(単一のテキストボックス)から取得します。私は、入力日付がそのような形式 - dd.mm.yyyy
を持っていることを確認したいと思います(この日付が間違っているため、12.24.1991
という入力日付はdbに保存されません)。また、私はモデルでこれをやりたいこれは可能ですか?Rails 3.2 - 日付の形式を確認
0
A
答えて
0
モデルで呼び出される検証メソッドを宣言し、このメソッドを定義します。以下は、大まかに何が必要か実行する必要があります。
validate :validate_teacher_birthday
private
def validate_teacher_birthday
errors.add("Teacher birthday", "is invalid.") unless (check_valid_date && valid_date_format)
end
def valid_date_format
self.teacher_birthday.match(/[0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9]/)
end
def check_valid_date
begin
parts = self.teacher_birthday.split(".") #contains array of the form [day,month,year]
Date.civil(parts[2].to_i,parts[1].to_i,parts[0].to_i)
rescue ArgumentError
#ArgumentError is thrown by the Date.civil method if the date is invalid
false
end
end
1
はchronic宝石を試してみてください。それはあなたが探しているものを含め、非常に柔軟な日付の解析を持っています
[11] pry(main)> require 'chronic'
=> true
[12] pry(main)> Chronic.parse('24.12.1991'.gsub('.','-'))
=> 1991-12-24 12:00:00 -0700
関連する問題
- 1. 現在の日付を確認する条件クエリのJson日付形式
- 2. 特定の形式の日付を確認する
- 3. クライアントPCの日付形式を確認する方法
- 4. JSは有効な日付形式を確認します
- 5. jQueryバリデーションプラグイン:カスタム日付形式を確認する
- 6. ストライプチャージ日付形式
- 7. jQuery/JavaScript日付書式の確認
- 8. HTML cfgridまたはSQL日付形式の日付形式
- 9. DateTime.Parse日付形式
- 10. VBA日付形式
- 11. Pchart - 日付形式
- 12. UI-日付形式
- 13. マングース日付形式
- 14. 日付ピッカーダイアログの日付形式
- 15. Java日付形式からJavaScript日付形式へ
- 16. 正規表現でこの形式の日付を確認する
- 17. Kohanaの3.2 - 私は明確な日付
- 18. C++は有効な日付の時刻形式を確認します
- 19. のDateTimePickerの日付形式
- 20. 日付の変更形式
- 21. VBSの日付形式
- 22. 日付形式の問題
- 23. 日付形式のTimeticks?
- 24. 日付形式の問題
- 25. Analysis Servicesの日付形式
- 26. Windowsフォームビルドの日付形式
- 27. DB2の日付形式
- 28. sasの日付形式
- 29. Javascriptの日付形式は
- 30. エンタープライズライブラリの日付形式
例えば、私はあなたのコードを試してみて、その後私はRSpecの中のエラーの多くを得る: '失敗/エラー:user.create_teacher @( @attr_teacher) NoMethodError: 未定義のメソッド分割、水曜日、1980年12月31日:Date'。また、私のページにアクセスし、私は 'NilClass'のための'未定義のメソッド '分割 'を取得した後、無効な日付を印刷しようとします: – ExiRe
また、私は私のフォームで正しい日付を印刷するとき' 01 Dec 1991:Date' – ExiRe