织梦自定义表单字段为必填项的教程

2017-04-13 21:00:16 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>