jQueryのvalidation rules内で処理分岐
仕事でCakePHP2.xを使っているが、validationは
サーバ任せではなくクライアント側でゴソゴソやって
るので、もれなくjQueryを使っている。
しかも、目前のラジオボタンのチェック状況で次の
フォームのvalidationを必須か必須解除にするので、
script内部で、ラジオボタンの選択状況を取得して判定
して処理分岐じゃ間に合わん。
そもそもそうだったとして、どうやってvalidationメッセー
ジの切り替えをするんだろう?
という疑問が湧いた。
実装イメージとしては、validation rules: 内で
required : true を設定する時に条件をかませられれば
いいよね?と考えた(ΦωΦ)
調べてみると、無名関数で条件を指定してやれば
validation rules内でも制御できるらしい。
(ex)直前のラジオボタンの選択状況で次のフォームのvalidationを設定
'data[table_name][agent1]' : {
'required' : function() { return ($('[name="data[table_name][approval_status]"]:checked').val() === '1');
}},
うん、できた(ΦωΦ)
[参考サイト]