设置dedecms表单默认为必填 防止用户恶意重复提交留言

最近做的几个优化站,收到了不很多用户的留言;经筛选发现,不少留言是恶意刷的(只有姓名、内容等等,唯独没有微信号、手机号等重要信息)。逐个删除,工作量,确实不小。默认的dedecms自定义表单是没有必填项的设置,如果要设置织梦自定义表单的必填项,可以通过以下两种方法来实现。同时缓解恶意重复提交留言的尴尬。
 
方法一:通过修改程序源文件实现
1、在plus文件夹下,找到diy.php文件第40行左右找代码:
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
 
2、在这行代码下面,添加以下代码后保存文件:
//增加必填字段判断
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
 
3、在自定义表单模板中找到代码:
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
 
4、在这行代码下面,添加代码:
<input type="hidden" name="required" value="数据字段名,数据字段名" />
 
注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项。
 
<input type="hidden" name="required" value="name,email" />
 
5、保存后,必填项设置完成,当用户提交表单时,系统检查到必填项没有输入内容,就会提示“带*号的为必填内容,请正确填写”。
 
方法二:通过javascript脚本代码实现检测
 
1、把以下代码保存为bailongbitian.js文件:
 
$(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;
        }
    })
});
 
说明:
 
$('#complain').submit(function ()  //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain"
if($('#name').val()==""){$('#name').focus();        //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
 
2、在表单模板文件中添加调用代码:
 
<script src='文件路径/js.js' type="text/javascript"></script>
 
3、保存后,重新生成网页!