【Agile】Ruby on rai ..
[2ch|▼Menu]
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