dede自定义表单留言为空验证判断必填项防止恶意提交
下面介绍2种方法,建议第一种简单快速,第二种不稳定
方法1:/plus/diy.php增加必填判断
大约在40行左右找到如下代码,
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
后面添加添加代码:
//增加必填字段判断 if($required!=''){ if(preg_match('/,/', $required)) { $requireds = explode(',',$required); foreach($requireds as $field){ if($$field==''){ showMsg('带*号的为必填内容,请正确填写', '-1'); exit(); } } }else{ if($required==''){ showMsg('带*号的为必填内容,请正确填写', '-1'); exit(); } } } //end
前台表单模板表头
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
增加下面的代码(value="自定义字段,自定义字段")
<input type="hidden" name="required" value="name,tel,mail" />
方法2:用JS判断
红色部分为自定义字段,把以下代码放在</head>之前,
<script type='text/javascript'> <!-- $(document).ready(function() { //验证 $('#complain').submit(function () { if($('#name').val()==""){ $('#name').focus(); alert("用户名不能为空!"); return false; } if($('#tel').val()=="") { $('#tel').focus(); alert("联系电话不能为空!"); return false; } if($('#title').val()=="") { $('#title').focus(); alert("标题不能为空!"); return false; } if($('#text').val()=="") { $('#text').focus(); alert("具体内容不能为空!"); return false; } }) }); --> </script>
上面只能判断数值是否为空,结合正则表达式,能准确判断输入的表单信息是否为规定格式数据。举例说明:
<script type="text/javascript"> $(function(){ $(".btn").click(function(){ var myNum=/^[\u4e00-\u9fa5]+$/; if(myNum.test($("#name").val())){}else{alert("请输入中文名字");return false;}; var myNum=/^[\u4e00-\u9fa5]+$/; if(myNum.test($("#xq").val())){}else{alert("请输入小区中文名字");return false;}; var mymj=/^([1-9][0-9]{1,3})+(.[0-9]{1,4})?$/ if(mymj.test($("#mj").val())){} else{alert("户型面积请输入首位不为零并且在2-4位的有效数字有效数字");return false;}; var myphone=/^\d{8,11}$/ if(myphone.test($("#phone").val())){} else{alert("电话位数在8-11位");return false;}; if($("input[type=text]").val()==''){alert("文本框不能为空!");return false;} else {alert("发布成功!请保持电话畅通!客服人员会在24小时之内与您联系!");return true;}});}); </script>