[英]Minimum collective value of several inputs with jquery validate
我有多個具有相同名稱的文本輸入,並且如果所有輸入的總值小於1,我試圖阻止表單提交。例如,用戶不能將所有輸入都設為0,但至少在其中之一上放1,這樣所有投入的總價值至少為1。
我在jquery validate中創建了一個方法來檢查值是否大於所選輸入的0
<td><input class='{nbTeams: true} nbTeamsVal' type="text" class="form-control" id="nbTeamsMiniSoccer_20" name="nbTeams[]"></td>
<td><input class='{nbTeams: true} nbTeamsVal' type="text" class="form-control" id="nbTeamsYouthMale_20" name="nbTeams[]"></td>
這是方法:
$.validator.addMethod("nbTeams", function(value, elem, param) {
return $(".nbTeamsVal").value > 0;
},"Collective value must be more than 1!"
);
這是我的規則和自定義消息
$(document).ready(function () {
$('#myForm').validate({
rules: {
"nbTeams[]":{
required: true
}
},
messages: {
"nbTeams[]":"This group of fields can only contain numbers and one must contain a value of at least 1."
},
errorElement : 'div',
errorLabelContainer: '.errorTxt',
submitHandler: function (form) {
form.submit();
}
});
});
我編輯您的代碼試試這個:
$.validator.addMethod("nbTeams", function(value, elem) { var sumOfVals = 0; $(".nbTeamsVal").each(function () { sumOfVals = sumOfVals + parseInt($(this).val()); }); return sumOfVals>0; },"Collective value must be more than 1!" ); $('#myForm').validate({ rules: { "nbTeams[]":"nbTeams" }, errorElement : 'div', errorLabelContainer: '.errorTxt', submitHandler: function (form) { alert('valid form submitted'); // for demo return false; // for demo } });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/additional-methods.js"></script> <form id="myForm" method="post" action="#"> <td><input class='{nbTeams: true} nbTeamsVal' type="text" class="form-control" id="nbTeamsMiniSoccer_20" name="nbTeams[]" value="0"></td> <td><input class='{nbTeams: true} nbTeamsVal' type="text" class="form-control" id="nbTeamsYouthMale_20" name="nbTeams[]" value="0"></td> <div class="errorTxt"></div> <button type="submit">Submit</button> </form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.