jQuery Validate を使用して数値の検証を試みていますが、ラジオ ボタンがチェックされている場合のみです。ラジオ ボタンがチェックされていない場合、フィールドは必須になりますが、ユーザーは英数字の値を挿入できます。問題は、フィールドが空かどうかのみを確認し、console.log に必要な値 (true または false) が表示されることですが、送信時にデータがサーバーに送信されます。これは私が持っているものです:
$("#new_redeem_coupon").validate({
rules:{
'redeem_coupon[confirmation_number]': {
required: function(element){
var v = $("#redeem_coupon_confirmation_number").attr("value");
if($("#redeem_coupon_coupon_kind_0").attr("checked") == "checked"){
ret = (v == "");
console.log("VALUE1: " + ret);
return ret;
}
else{
var ret = (v == "" || isNaN(v));
console.log("VALUE2: " + ret);
return ret;
}
}
}
},
errorPlacement:function(error, element){
$(element).attr("title",error.html()).tooltip({track:true});
},
success:function(label){
},
errorClass: "invalid",
focusCleanUp: true
});
次のコードも試しましたが、うまくいきませんでした。値は常に false のままです。
'redeem_coupon[confirmation_number]': { required:true, number: $("#redeem_coupon_coupon_kind_0").attr("checked") != "checked" }
よろしくお願いします。
パブロ・マルティ