dede表单提交验证不能为空格

admin2023-01-191389

公司网站有表单留言功能,经常接收到空信息,今天做了下验证,记录一下。表单验证分为前端验证和后台验证,建议两者都做一下,具体方法如下:

前端验证:

html5标签有个新属性required,在input里面加上即可,这个属性无法验证空格。

<label for="name">姓名:</label><input type="text" id="name" name="name" required="required">

其实之前已经做过前端的验证,但仍然收到空信息,其实就是空格发送过来了。

后端验证

我在后端进行空格的验证,找到/plus/diy.php。

找到如下代码

${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1],0,'add','','diy', $fieldinfo[0]);

然后再下面添加

if(($fieldinfo[0]=='name')&&(${$fieldinfo[0]}=='')) {showMsg('your name can not be null', '-1');exit();}    //name为前端input表单名

这样就能针对每一个input进行判断了,由于我所有的表单都要求填写,所以我没有按上面一个个的修改,而是找到

$addvar .= ', `'.$fieldinfo[0].'`';

在它的下面增加

if(ctype_space(${$fieldinfo[0]})){
   showmsg('信息不能为空格,即将返回原页面!', '-1');
   exit();
}

这样就好了。

网友评论