AJAX呼び出しを使用してJSONデータを取得し、そこからHTMLフォームを生成するため、どの入力フィールドを取得するのか事前にわかりません。即時に検証ルールを定義することは可能ですか?おそらくActiveAttrを使用して擬似モデルを定義しますが、データを受け取った後は妥当性検査をしたいと思います。動的に作成されたフォームのRails検証
だから...任意のアイデアですか?
AJAX呼び出しを使用してJSONデータを取得し、そこからHTMLフォームを生成するため、どの入力フィールドを取得するのか事前にわかりません。即時に検証ルールを定義することは可能ですか?おそらくActiveAttrを使用して擬似モデルを定義しますが、データを受け取った後は妥当性検査をしたいと思います。動的に作成されたフォームのRails検証
だから...任意のアイデアですか?
ActiveModel
の組み合わせと、カスタム検証方法またはクラスのいずれかを使用してトリックを行う必要があります。クラスが宣言されたときにフィールドがわからないので、標準の検証宣言を(AFAIK)使用することはできません。
ClassName.class_eval %Q[validates :#{name}, length: {minimum: 5}]
を使用すると、検証を動的に追加できます。もちろん、name
変数にsetterとgetterを追加する必要があります。 class_eval
は文字列を使用するので、無限の可能性があります。
freenode上の '#rubyonrails'チャットルームからのユーザー' epochwolfは、私にActiveModelの使用を勧めました。 http://www.rubyinside.com/rails-3-0s-activemodel-how-to-give-ruby-classes-some-activerecord-magic-2937.html – aL3xa
あなたも未知のフィールドですか(つまり、それらは作成されますか?あなたは固定されたテーブルを持っていますか? if:>オプションを使用して、特定の検証ルールを除外できますか? – Roger
al.3xa、どうやって解決しましたか? – aaandre