织梦dedecms自定义表单提交验证怎么加?

99ANYc3cd6
预计阅读时长 22 分钟
位置: 首页 织梦建站 正文

使用HTML5自带验证(最简单,推荐首选)

这是最简单、最快捷的方法,无需修改PHP代码,只需在前端HTML表单中添加相应的属性即可,它能提供基本的浏览器端验证。

支持的验证属性:

  • required: 字段必填。
  • type="email": 必须是有效的邮箱格式。
  • type="tel": 必须是电话号码格式(不同浏览器支持程度不同)。
  • pattern: 使用正则表达式进行自定义格式验证。
  • minlength / maxlength: 限制输入字符的最小/最大长度。
  • min / max: 限制数字的最小/最大值。

操作步骤:

  1. 找到你的自定义表单模板文件 登录织梦后台,进入【核心】 -> 【内容模型管理】 -> 【自定义表单】。 找到你想要修改的自定义表单,点击后面的【管理】或【修改】。 在修改页面,你会看到模板代码,通常是一个 .htm 文件,/plus/diyform.htm,点击后面的“[修改]”按钮,进入模板编辑。

  2. 为表单元素添加验证属性 找到需要验证的表单输入框,姓名”、“手机号”、“邮箱”等,在 <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>

    添加验证后,代码变为:

    织梦dedecms自定义表单提交验证怎么加?

    <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>
  3. 属性说明:

    • 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进行自定义验证。

织梦dedecms自定义表单提交验证怎么加?

操作步骤:

  1. 准备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>
  2. 修改表单的 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>

优点:

织梦dedecms自定义表单提交验证怎么加?

  • 灵活性极高,可以实现任何复杂的验证逻辑。
  • 可以自定义错误提示的样式和方式(用 <div> 弹出提示,而不是 alert)。

缺点:

  • 同样,可以被禁用JavaScript的用户绕过,不能作为唯一的安全防线。
  • 需要一定的JavaScript编程能力。

修改PHP文件进行后端验证(最安全,必须做)

这是最重要的一步,无论前端验证多么完善,后端验证都是必不可少的,因为它才是真正决定数据是否被接受的关键。

操作步骤:

  1. 找到并编辑处理文件 自定义表单的数据提交和处理是由 /plus/diy.php 文件完成的,我们需要修改这个文件。

    ⚠️ 重要提示: 在修改任何核心文件之前,务必备份原文件!以免出错后无法恢复。

  2. 定位并修改验证代码 用代码编辑器(如VS Code, Sublime Text, Dreamweaver)打开 /plus/diy.php 文件。

    找到类似下面的代码段,通常在文件中下部,在 $addvar = array(); 之后,$inquery = "INSERT INTO{$diy->table}idifcheck$addvar[0]) VALUES... 之前。

    // --- 在这里添加你的PHP验证代码 ---
    // �

-- 展开阅读全文 --
头像
织梦本地文件如何用FTP传到服务器?
« 上一篇 11-26
C语言float,1001是什么?
下一篇 » 11-26

相关文章

取消
微信二维码
支付宝二维码

目录[+]