使用HTML5自带验证(最简单,推荐首选)
这是最简单、最快捷的方法,无需修改PHP代码,只需在前端HTML表单中添加相应的属性即可,它能提供基本的浏览器端验证。
支持的验证属性:
required: 字段必填。type="email": 必须是有效的邮箱格式。type="tel": 必须是电话号码格式(不同浏览器支持程度不同)。pattern: 使用正则表达式进行自定义格式验证。minlength/maxlength: 限制输入字符的最小/最大长度。min/max: 限制数字的最小/最大值。
操作步骤:
-
找到你的自定义表单模板文件 登录织梦后台,进入【核心】 -> 【内容模型管理】 -> 【自定义表单】。 找到你想要修改的自定义表单,点击后面的【管理】或【修改】。 在修改页面,你会看到模板代码,通常是一个
.htm文件,/plus/diyform.htm,点击后面的“[修改]”按钮,进入模板编辑。 -
为表单元素添加验证属性 找到需要验证的表单输入框,姓名”、“手机号”、“邮箱”等,在
<input>标签中添加相应的属性。示例代码:
假设你的原始表单代码是这样:
<form action="/plus/diy.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="action" value="post" /> <input type="hidden" name="diyid" value="1" /> <input type="hidden" name="do" value="2" /> <p>姓名:<input type="text" name="name" id="name" /></p> <p>手机号:<input type="text" name="tel" id="tel" /></p> <p>邮箱:<input type="text" name="email" id="email" /></p> <p>留言:<textarea name="message" id="message"></textarea></p> <p><input type="submit" name="submit" value="提交" /></p> </form>添加验证后,代码变为:

<form action="/plus/diy.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="action" value="post" /> <input type="hidden" name="diyid" value="1" /> <input type="hidden" name="do" value="2" /> <p>姓名:<input type="text" name="name" id="name" required placeholder="请输入您的姓名" /></p> <p>手机号:<input type="text" name="tel" id="tel" required pattern="^1[3-9]\d{9}$" placeholder="请输入11位手机号" /></p> <p>邮箱:<input type="email" name="email" id="email" required placeholder="请输入您的邮箱" /></p> <p>留言:<textarea name="message" id="message" required minlength="10" placeholder="留言内容至少10个字符"></textarea></p> <p><input type="submit" name="submit" value="提交" /></p> </form> -
属性说明:
required: 表示该字段为必填项,如果为空,表单将无法提交。pattern="^1[3-9]\d{9}$": 这是一个正则表达式,用于验证手机号格式。^表示开始, 表示结束,1[3-9]\d{9}表示以1开头,第二位是3-9,后面跟着9位数字。type="email": 浏览器会自动检查输入是否为有效的邮箱格式。minlength="10": 文本区域的内容长度不能少于10个字符。placeholder: 提示文本,对用户友好,不是验证属性,但建议配合使用。
优点:
- 实现简单,只需修改HTML。
- 无需服务器处理,验证速度快,用户体验好(浏览器会给出即时提示)。
- 不需要额外的JS知识。
缺点:
- 安全性低:用户可以禁用浏览器JavaScript来绕过验证。HTML5验证不能作为唯一的安全措施,必须配合后端验证。
使用JavaScript进行前端验证(更灵活)
如果HTML5的验证无法满足你的需求(比如更复杂的逻辑),可以使用JavaScript进行自定义验证。

操作步骤:
-
准备JavaScript代码 将以下JS代码复制并粘贴到你的表单模板文件
<head>标签内,或者单独创建一个.js文件并在页面中引入。<script type="text/javascript"> function checkForm() { // 获取表单元素 var name = document.getElementById('name').value; var tel = document.getElementById('tel').value; var email = document.getElementById('email').value; // 验证姓名不能为空 if (name == '') { alert('姓名不能为空!'); document.getElementById('name').focus(); return false; // 阻止表单提交 } // 验证手机号格式 var telReg = /^1[3-9]\d{9}$/; if (!telReg.test(tel)) { alert('请输入正确的11位手机号码!'); document.getElementById('tel').focus(); return false; // 阻止表单提交 } // 验证邮箱格式 var emailReg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; if (!emailReg.test(email)) { alert('请输入正确的邮箱地址!'); document.getElementById('email').focus(); return false; // 阻止表单提交 } // 如果所有验证都通过,则返回true,允许表单提交 return true; } </script> -
修改表单的
onsubmit事件 在你的<form>标签中,添加onsubmit="return checkForm()"属性。修改后的表单代码:
<form action="/plus/diy.php" enctype="multipart/form-data" method="post" onsubmit="return checkForm()"> <input type="hidden" name="action" value="post" /> <input type="hidden" name="diyid" value="1" /> <input type="hidden" name="do" value="2" /> <p>姓名:<input type="text" name="name" id="name" /></p> <p>手机号:<input type="text" name="tel" id="tel" /></p> <p>邮箱:<input type="text" name="email" id="email" /></p> <p>留言:<textarea name="message" id="message"></textarea></p> <p><input type="submit" name="submit" value="提交" /></p> </form>
优点:

- 灵活性极高,可以实现任何复杂的验证逻辑。
- 可以自定义错误提示的样式和方式(用
<div>弹出提示,而不是alert)。
缺点:
- 同样,可以被禁用JavaScript的用户绕过,不能作为唯一的安全防线。
- 需要一定的JavaScript编程能力。
修改PHP文件进行后端验证(最安全,必须做)
这是最重要的一步,无论前端验证多么完善,后端验证都是必不可少的,因为它才是真正决定数据是否被接受的关键。
操作步骤:
-
找到并编辑处理文件 自定义表单的数据提交和处理是由
/plus/diy.php文件完成的,我们需要修改这个文件。⚠️ 重要提示: 在修改任何核心文件之前,务必备份原文件!以免出错后无法恢复。
-
定位并修改验证代码 用代码编辑器(如VS Code, Sublime Text, Dreamweaver)打开
/plus/diy.php文件。找到类似下面的代码段,通常在文件中下部,在
$addvar = array();之后,$inquery = "INSERT INTO{$diy->table}idifcheck$addvar[0]) VALUES...之前。// --- 在这里添加你的PHP验证代码 --- // �
