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. 特定の形式の日付を確認する
- 4. Marklogicの日付形式を確認してください
- 5. クライアントPCの日付形式を確認する方法
- 6. JAVASCRIPT形式の日付を確認する
- 7. SQL Serverの日付形式を確認する方法
- 8. JSは有効な日付形式を確認します
- 9. jQueryバリデーションプラグイン:カスタム日付形式を確認する
- 10. ストライプチャージ日付形式
- 11. jQuery/JavaScript日付書式の確認
- 12. CSVの日付形式をMySQLの日付形式
- 13. 日付形式
- 14. 日付形式
- 15. 今日の日付形式
- 16. VBAのテキスト形式から日付形式への日付
- 17. 日付範囲AngularJS書式確認
- 18. Kohanaの3.2 - 私は明確な日付
- 19. HTML cfgridまたはSQL日付形式の日付形式
- 20. SMS形式の日付形式
- 21. jQueryの日付ピッカーチャゲの日付形式
- 22. マッチング日付形式
- 23. Pchart - 日付形式
- 24. VBA日付形式
- 25. SSRS日付形式
- 26. AngularJS日付形式
- 27. MySQL - 日付形式
- 28. 日付形式 - 例
- 29. マングース日付形式
- 30. UI-日付形式
例えば、私はあなたのコードを試してみて、その後私はRSpecの中のエラーの多くを得る: '失敗/エラー:user.create_teacher @( @attr_teacher) NoMethodError: 未定義のメソッド分割、水曜日、1980年12月31日:Date'。また、私のページにアクセスし、私は 'NilClass'のための'未定義のメソッド '分割 'を取得した後、無効な日付を印刷しようとします: – ExiRe
また、私は私のフォームで正しい日付を印刷するとき' 01 Dec 1991:Date' – ExiRe