dede表单提交验证不能为空格
公司网站有表单留言功能,经常接收到空信息,今天做了下验证,记录一下。表单验证分为前端验证和后台验证,建议两者都做一下,具体方法如下:
前端验证:
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(); }
这样就好了。