レコードを保存する前にtext_fieldの値が等しくないことを検証する方法はありますか?私はそれらの中に整数を持つ2つのtext_fieldsを持っており、レコードが有効であるために同一であることはできません。お使いのモデルで1つの値が別の値と等しくない罫線の検証
6
A
答えて
8
あなたはカスタム検証を追加することができます。
class Something
validate :fields_a_and_b_are_different
def fields_a_and_b_are_different
if self.a == self.b
errors.add(:a, 'must be different to b')
errors.add(:b, 'must be different to a')
end
end
あなたのオブジェクトが検証されるたびに呼び出されます(明示的またはときに検証して保存)し、両方のフィールドにエラーが追加されます。両方のフィールドにエラーを表示して、フォーム内の表示方法を異ならせることができます。
errors.add(:base, 'a must be different to b')
:
は、そうでなければあなただけのベースにエラーを追加することができます
5
:
validate :text_fields_are_not_equal
def text_fields_are_not_equal
self.errors.add(:base, 'Text_field1 and text_field2 cannot be equal.') if self.text_field1 == self.text_field2
end
関連する問題
- 1. 値 "いくつかの値が" 無効asp.netモデルバインディングの検証
- 2. 値が現在の値と等しくないレコード
- 3. Excel - 別のセルIFが真と等しい場合は1つの値を使用してください。
- 4. 等しい値(=)と1つの値を持つINのパフォーマンスの相違
- 5. 1つのdivに異なる罫線があります
- 6. プロパティ値の1つに基づくJOLTサブツリーの検証
- 7. 1つの列が別の列から選択された値と等しい日付表の合計値
- 8. 表の罫線が正しく表示されない:相対
- 9. 確率が等しくないときのバケットソートの期待値
- 10. Sequelizeクエリ:列の検索方法 "where:"列の値が配列の任意の値と等しくない
- 11. 値が等しくない場合
- 12. jQueryのパスワード検証6-10キャラと1つの数値
- 13. 変数(count_server)が開始時の値と等しくない
- 14. 戻り値がテーブルに存在しないか、値と等しくない
- 15. カラム1の値が特定の値に等しいカラム2の別の値を選択する
- 16. curryを使用して別の値と等しい値になるまで
- 17. 多くの値が等しくないmysql構文
- 18. Python:同じ値を持つ変数と等しくない数値
- 19. テーブルと罫線
- 20. ActiveRecord検証の属性の古い値と新しい値
- 21. 複数の等しくない入力のjQuery検証
- 22. 1つの列の値が別の列の値より大きくなることはできません
- 23. 角度データバインディング2つの数値が別のものと等しくなるようにする
- 24. SQLは2つの列に等しく、1つは等しく、もう一方は等しくない
- 25. 等しい値の2つの文字列変数が等価でない(アンドロイド)
- 26. big.setBytes(bigint.Bytes())の後に受信した値と等しくない
- 27. 別のパラメータ値を使用してパラメータ値を検証する
- 28. 1つではなく別々の列に値を返す
- 29. jqueryは別の値ではなく1つの文字列としてXML値を返します
- 30. Doctrine - 一部の値と等しくない