修改织梦dedecms自定义表单字段为必填项的方法

织梦自定义表单用的最多的就是制作留言板,报名等功能,但是添加的字段不填写就能提交,容易被恶意提交,为了防止这些,我们可以把这些字段选项设定为必填项。

织梦自定义表单用的最多的就是制作留言板,报名等功能,但是添加的字段不填写就能提交,容易被恶意提交,为了防止这些,我们可以把这些字段选项设定为必填项

方法如下:

1. 用php验证

plus/diy.php的第 40行下加 
 

//增加必填字段判断
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

2.在模版的表单里加<input type="hidden" name="required" value="name,sex" />

value 就是必须字段,多个用“,”隔开。

参考案例分享:

<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="required" value="name,qq" />
<input type="hidden" name="action" value="post" />
<input type="hidden" name="diyid" value="1" />
<input type="hidden" name="do" value="2" />
<table style="width:97%;" cellpadding="0" cellspacing="1">
<tr>
  <td align="right" valign="top">姓名:</td>
  <td><input type='text' name='name' id='name' style='width:250px'  class='intxt' value='' />
</td>
</tr>
<tr>
  <td align="right" valign="top">性别:</td>
  <td><select name='sex' style='width:50px'><option value='男'>男</option>
<option value='女'>女</option>
</select>
</td>
</tr>
<tr>
  <td align="right" valign="top">电话:</td>
  <td><input type='text' name='tell' id='tell' style='width:250px'  class='intxt' value='' />
</td>
</tr>
<tr>
  <td align="right" valign="top">地址:</td>
  <td><input type='text' name='add' id='add' style='width:250px'  class='intxt' value='' />
</td>
</tr>
<tr>
  <td align="right" valign="top">备注内容:</td>
  <td><input type='text' name='con' id='con' style='width:250px; height:100px'  class='intxt' value='' />
</td>
</tr>
<input type="hidden" name="dede_fields" value="name2,text;sex2,select;tell2,text;add,text;con2,text" />
<input type="hidden" name="dede_fieldshash" value="78764e448024ba3607705cbf961ebf3f" /></table>
<div align='center' style='height:30px;padding-top:10px; padding-left:130px'>
<input type="submit" name="submit" value="提 交" class='coolbg' />
&nbsp;
<input type="reset" name="reset" value="重 置" class='coolbg' />
</div>
</form>

相关阅读:

织梦DedeCMS提交自定义表单加入验证码功能

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

1、在织梦文件中找到/plus/diy.php文件,顶部加上跨域请求代码: header(Access-Control-Allow-Origin:*); //支持全域名访问,不安全,部署后需要固定限制为客户端网址 header(Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE); //支持的http 动作 he
假如后台会员模型企业模型,增加一个营业执照的图片字段zhizhao,在会员中心上传图片后, 点击图片没法选择. 这是织梦的bug,因为form表单的name值不对应.谷歌浏览器f12,会提示Uncaught TypeError: Cannot read property zhizhao of undefined 这个错误 解决办法
织梦DEDECMS首页调用自定义表单数据 直接输入下面代码: {dede:loop table=dede_diyform3 sort=id row=5 if=ifcheck=1} li [field:name/]/li {/dede:loop} 其中 dede_diyform3 是自定义数据表,注意这个调用是根据你后台建立的自定义表单表名 if=ifcheck=1
环境要求 (硬性指标,不支持就无法发送) : 主机465端口是开启和放行的 php扩展openssl是开启的 php扩展sockets是开启的 虚拟主机必须开启fsockopen函数 阿里云虚拟主机开启fsockopen函数 1、QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据
有时候我们需要在自定义表单中获取访问者的ip地址信息,那么要怎么实现呢? 1、首先我们在后台自定义表单中建立一个字段为:uip 2、在自定义表单中的写法如下,把uip这个字段作为隐藏字段: input type=hidden name=uip id=uip value=script type=text/javas
我们先看看效果图: 织梦自定义表单没有批量选择的功能,给我们管理带来很大不便,如果需要加上全选/全不选的功能,步骤如下: 从/dede/templets找到diy_list.htm并打开: 1、在57行处colspan=3改为colspan=5 2、58行处添加以下代码: labelinput type=butto