私が持っているこのような単純なApplicationRecord
クラス:Railsは - 別のフィールドが空でない場合は、フィールドを検証
class User < ApplicationRecord
validates :name, presence: true
validates :surname, presence: true
end
私はフィールドがそれらのいずれかがある場合にのみ存在している必要がありますように私のコードを変更したいのですがプレゼント。それは標準で働くように不正な形式の場合には、私は、具体的なフィールドに関連付けられている私のカスタム検証メッセージを表示したいので、私は、標準のRailsのフォームを使用
if name_is_present? || surname_is_present?
validate_name
validate_surname
else
#don't validate anything
end
:だから、私のようなものを持っている必要があります検証。これどうやってするの?
両方の存在または両方が存在しないことを検証する 'ActiveModel :: Validator'を作成することができます。 –
@AlejandroMontillaは実際には、通常の存在確認のための 'if:'と 'unless:'オプションに多くのロジックを押し込むよりもはるかに良いアイデアです。 http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations – max