【Agile】Ruby on rai ..
624:nobodyさん
06/10/19 09:59:02
値が入力されているときだけvalidationをするにはどうするのでしょうか。
今は
validates_format_of :phone, :with=>/^¥d+-¥d+-¥d¥d¥d¥d$/
としているのですが、値が入力されていないときでもvalidationがかかるらしく、
それでエラーとなってしまいます。
validates_format_of :phone, :with=>/^(¥d+-¥d+-¥d¥d¥d¥d)?$/
とすれば回避できるのですが美しくないし、それにvalidates_inclusion_ofなど
他のvalidationメソッドでは使えない技だし。
ソース読む限りは
validates_each(attr_names, configuration) do |record, attr_name, value|
record.errors.add(attr_name, configuration[:message]) unless value.to_s =~ configuration[:with]
end
となっているところを
validates_each(attr_names, configuration) do |record, attr_name, value|
record.errors.add(attr_name, configuration[:message]) unless value.blank? || value.to_s =~ configuration[:with]
end
とするしかなさそうなんですけど、こんな方法しか用意されていないはずはないと思うので、
だれか助けて。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4350日前に更新/225 KB
担当:undef