それは可能ですか?データベースモデルの検証
答えて
あなたはRails3でこのような何かを行うことができます。
class MyValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless {your condition here}
object.errors[attribute] << (options[:message] || "your error here")
end
end
end
編集を:場合http://railscasts.com/episodes/211-validations-in-rails-3あなたはより詳細な必要があります。この例ではRailscastsからのものであることを言及するのを忘れましたこのトピックの情報
ここでは、first
がtrue
の場合、それは常にOKです。
validate :check_booleans
def check_booleans
if first == false
errors[:base] << "wrong here" if second == true
end
end
検証は戻り値をチェックしません。eを追加する必要がありますオブジェクトのエラー: 'self.errors.add(:second、" falseにすることはできません ")' –
@Brett Bender:あなたは間違いなく正しいと思います – apneadiving
validate :if_first_is_false_second_is_also
def if_first_is_false_second_is_also
if self.first_field == false && self.second_field != false
errors.add(:second_field, "your error message")
end
end
あなたは条件が間違った方法を理解していると思います – apneadiving
これは動作しますか? Rails 3も同様ですか? – glarkou
はい、条件が間違っていますが、修正できます。 – glarkou
- 1. オブジェクトの配列を持つ非データベースモデルの検証
- 2. データベースモデル
- 3. 検索を効率化するMemcacheデータベースモデル
- 4. LDAPデータベースモデル
- 5. Djangoデータベースモデル
- 6. データベースモデルの確認
- 7. Entity Frameworkのデータベースモデル
- 8. PHP - データベースモデルの改善?
- 9. ライブデータとドラフトデータのデータベースモデル
- 10. オブジェクト指向データベースモデル
- 11. データ品質データベースモデル
- 12. データベースモデルとパフォーマンス
- 13. データベースモデルや協会ソリューション
- 14. MVCデータベースモデル動的プロパティ
- 15. データベースモデルinternationlization再生フレームワーク
- 16. InfluxDBのデータ構造とデータベースモデル
- 17. 非データベースモデル経由のルーティング
- 18. どのデータベースモデルですか?
- 19. 検証Laravelの検証
- 20. MVC 3の検証:検証
- 21. Exrin:データベースモデル、サービス、およびメインモデル
- 22. アイテムを優先するデータベースモデル。
- 23. データベースモデルからユーザーインターフェイスを生成
- 24. DataSetの検証とASP.NETフォームの検証
- 25. jQueryの検証 - URLの検証
- 26. jQuery検証エンジンのカスタムJavaScriptの検証
- 27. XML検証とJava検証
- 28. HTML5検証とPHP検証
- 29. Scalazでの検証検証エラー
- 30. 流暢検証カスタムの検証ルール
他のすべてのメソッドと同様に、メソッドの代わりに新しいクラスを使用する利点は何ですか? – glarkou
クラスは再利用可能で読みやすく、他の解決方法はコピー貼り付けにつながります(結局)。 – Zepplock