# dedecms自定义表单中设置必填项的方法

*Published:* 2023-10-19
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年10月19日，已超过 180天没有更新



### 方法一：通过修改程序源文件实现

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
                    {
                        $field = 'mobile';                        if(!is_int($$field))
                        {
                            showMsg('联系电话必须为数字','-1');                            exit();                        }    
                    }
                }
            }
        }//end
```

3、在创建的自定义[表单](https://www.xarjtc.com/tag/%e8%a1%a8%e5%8d%95 "查看表单此标签更多文章")中找到代码：

```
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
```

4、在这行代码下面，添加代码：

```
<input type="hidden" name="required" value="数据字段名,数据字段名" />
```

注意这行代码要修改下，根据你的表单所需要设置的必填项，例如设置“姓名”、“邮箱”为必填项。

添加新字段–“表单提示文字”：姓名–“字段名称”：name添加新字段–“表单提示文字”：邮箱–“字段名称”：email

如：&lt;input type="hidden" name="required" value="name,email" /&gt;

5、保存后，必填项设置完成，当用户提交表单时间，系统检查到必填项没有输入内容，就会提示“带\*号的为必填内容，请正确填写”。

### 方法二：通过 javascript 脚本代码实现检测

1、把以下代码保存为 bitian.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、保存后，重新生成网页!