我输入错误的输入并且正在接受它。我做错了什么?
$.validator.addMethod("positiveNumber", function (value) {
return (Number(value) > 0 || value == "");
}, "Enter a valid dollar amount");
$("a#btnSLAlert").click(function(){
if ($("#frmAlert").valid() === true) {
$('#mdlAlertSL').foundation('reveal', 'close');
$.ajax({
url : 'captureAlertSL',
data : {'price':$("#txtAlertPrice").val(),
'shopping_list_id':$("#shopping_list_id").val()},
type : 'POST',
success : function(response){
$('#saveAlertSuccess').foundation('reveal', 'open');
window.setTimeout (function(){$('#saveAlertSuccess').foundation('reveal', 'close');},2000);
},
error : function(response){alert(response);}
});
}
});
$('#frmAlert').validate({
rules: {
txtAlertPrice: {required:true, positiveNumber: true}
}
});
答案 0 :(得分:1)
EUREKA!我没有输入文本框的名称属性集。
正如documentation所述:
对于输入元素,name属性是''''''',如果没有它,验证插件就无法运行。通常,name和id属性应该具有相同的值。
这是所有荣耀中的工作代码。请注意,我将实际的提交工作移到了submitHandler,这是它应该去的地方。
$.validator.addMethod("positiveNumber", function (value) {
return (Number(value) > 0);
}, "Enter a valid dollar amount");
$("a#btnSLAlert").click(function(){
if ($("#frmAlert").valid() === true) {
$('#frmAlert').submit();
}
});
$('#frmAlert').validate({
rules: {
txtAlertPrice: {required:true, positiveNumber: true}
},
messages: {
txtAlertPrice: {
required: "Please enter a price",
positiveNumber: "Enter a valid dollar amount"
}
},
submitHandler:function(){
$('#mdlAlertSL').foundation('reveal', 'close');
$.ajax({
url : 'captureAlertSL',
data : {'price':$("#txtAlertPrice").val(),
'shopping_list_id':$("#shopping_list_id").val()},
type : 'POST',
success : function(response){
$('#saveAlertSuccess').foundation('reveal', 'open');
window.setTimeout (function(){$('#saveAlertSuccess').foundation('reveal', 'close');},2000);
},
error : function(response){alert(response);}
});
}
});
答案 1 :(得分:0)
试试这个:
$.validator.addMethod("positiveNumber", function (value) {
return (Number(value) > 0 || value == "");
}, "Enter a valid dollar amount");
$("a#btnSLAlert").click(function(){
$('#frmAlert').submit();
});
$('#frmAlert').submit(function(){
if($('#frmAlert').valid()){
$('#mdlAlertSL').foundation('reveal', 'close');
$.ajax({
url : 'captureAlertSL',
data : {'price':$("#txtAlertPrice").val(),
'shopping_list_id':$("#shopping_list_id").val()},
type : 'POST',
success : function(response){
$('#saveAlertSuccess').foundation('reveal', 'open');
window.setTimeout (function(){$('#saveAlertSuccess').foundation('reveal', 'close');},2000);
},
error : function(response){alert(response);}
});
}
});
$('#frmAlert').validate({
rules: {
txtAlertPrice: {required:true, positiveNumber: true}
}
});