首页 > 代码库 > easyui validate -- radio、checkbox 校验扩展
easyui validate -- radio、checkbox 校验扩展
1、extension.js:
$.extend($.fn.validatebox.defaults.rules, { radio: { validator: function(value, param){ var input = $(param[0]),status = false; input.off(‘.radio‘).on(‘click.radio‘,function(){ $(this).focus(); try{ cntObj.tooltip(‘hide‘); }catch(e){} }); var firstObj = $(input[0]),cntObj = firstObj.parent(),initCount = cntObj.attr("initCount") || 0; cntObj.off("mouseover mouseout").on("mouseover mouseout",function(event){ var bool = input.validatebox(‘isValid‘); if(event.type == "mouseover"){ if(bool) try{ cntObj.tooltip(‘hide‘); }catch(e){} else try{ cntObj.tooltip(‘show‘);}catch(e){} }else if(event.type == "mouseout") try{ cntObj.tooltip(‘hide‘); }catch(e){} }); var tipMsg = firstObj.validatebox.defaults.missingMessage || firstObj.validatebox.defaults.rules.checkbox.message; if(initCount-1<0){ firstObj.parent().tooltip({ position: ‘right‘, content: ‘<span style="color:#fff">‘+tipMsg+‘</span>‘, onShow: function(){ $(this).tooltip(‘tip‘).css({ backgroundColor: ‘#666‘, borderColor: ‘#666‘ }); } }).tooltip(‘hide‘); initCount = initCount - 0 + 1; cntObj.attr("initCount",initCount); } status = $(param[0] + ‘:checked‘).val() != undefined; return status; }, message: ‘Please choose option for {1}.‘ }, checkbox: { validator: function (value, param) { var inputs = $(param[0]), maxNum = param[1], checkNum = 0,status=false; inputs.each(function () { if (this.checked) checkNum++; }); inputs.off(‘.checkbox‘).on(‘click.checkbox‘,function(){ $(this).focus(); var bool = inputs.validatebox(‘isValid‘); if(bool) $(this).parent().tooltip(‘destroy‘); else { var tipMsg = $(this).validatebox.defaults.missingMessage || $(this).validatebox.defaults.rules.checkbox.message; $(this).parent().tooltip({ position: ‘right‘, content: ‘<span style="color:#fff">‘+tipMsg+‘</span>‘, onShow: function(){ $(this).tooltip(‘tip‘).css({ backgroundColor: ‘#666‘, borderColor: ‘#666‘ }); } }).tooltip(‘show‘); } }); status = checkNum > 0 && checkNum < 4; return status; }, message: ‘Please choose options !‘ } });
2、html:(相关资源自行引入)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Validate Form on Submit - jQuery EasyUI Demo</title> <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/css/metro/easyui.css"> <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/css/icon.css"> <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/css/demo.css"> <script type="text/javascript" src="http://www.mamicode.com/js/jquery.min.js"></script> <script type="text/javascript" src="http://www.mamicode.com/js/jquery.easyui.min.js"></script> <script type="text/javascript" src="http://www.mamicode.com/js/extension/extension.js"></script> <script type="text/javascript" src="http://www.mamicode.com/js/locale/easyui-lang-zh_CN.js"></script> </head> <body> <h2>Validate Form on Submit</h2> <p>The form does not perform validation before being submitted.</p> <div style="margin:20px 0;"></div> <div class="easyui-panel" title="New Topic" style="width:400px"> <div style="padding:10px 60px 20px 60px"> <form id="ff" class="easyui-form" method="post" data-options="novalidate:true"> <table cellpadding="5"> <tr> <td>Name:</td> <td><input class="easyui-textbox" type="text" name="name" data-options="required:true"></input></td> </tr> <tr> <td>Email:</td> <td><input class="easyui-textbox" type="text" name="email" data-options="required:true,validType:‘email‘"></input></td> </tr> <tr> <td>Subject:</td> <td><input class="easyui-textbox" type="text" name="subject" data-options="required:true"></input></td> </tr> <tr> <td>Message:</td> <td> <div> <input class="easyui-validatebox" type="radio" name="yes_no" value="http://www.mamicode.com/1" data-options="validType:‘radio[\‘#ff input[name=yes_no]\‘, \‘Yes or no\‘]‘">Yes <input class="easyui-validatebox" type="radio" name="yes_no" value="http://www.mamicode.com/0">No </div> </td> </tr> <tr> <td>Language:</td> <td> <div> <input type="checkbox" name="cb1" class="easyui-validatebox" value="http://www.mamicode.com/1" validType="checkbox[‘#ff input[name=cb1]‘]"/>ck1 <input type="checkbox" name="cb1" class="easyui-validatebox" value="http://www.mamicode.com/2"/>ck2 <input type="checkbox" name="cb1" class="easyui-validatebox" value="http://www.mamicode.com/3" />ck3 <input type="checkbox" name="cb1" class="easyui-validatebox" value="http://www.mamicode.com/4" />ck4 </div> </td> </tr> </table> </form> <div style="text-align:center;padding:5px"> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()">Submit</a> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()">Clear</a> </div> </div> </div> <script> function submitForm(){ $(‘#ff‘).form(‘submit‘,{ onSubmit:function(){ return $(this).form(‘enableValidation‘).form(‘validate‘); } }); } function clearForm(){ $(‘#ff‘).form(‘clear‘); } </script> </body> </html>
easyui validate -- radio、checkbox 校验扩展
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。