给织梦dedecms自定义表单添加必填字段的设置方法

2019-12-11 15:02发布

给dede自定义表单提交必填字段对网站安全是比较重要的,因为发现很多用dede搭建的站点,它们的表单都给无限的提交数据,不仅对服务器操作很大的压力,而且对有效表单数据的查看也非常的不便,在网站安全性上也容易操作sql注入,所以diy文件的安全性设置也是需要去设置一下的。

1.编辑器打开\plus\diy.php

2.在40行左右找到此行代码:

$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);

3.在这一行代码之下,加入代码,复制的话删掉代码中的空行。

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

4.保存完成后,在我们的页面表单加入代码:

<input type="hidden" name="required" value="数据字段名,数据字段名" />

注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“电话”为必填项.

添加新字段--“表单提示文字”:姓名--“字段名称”:name

添加新字段--“表单提示文字”:电话--“字段名称”:tel

此行代码应为:

<input type="hidden" name="required" value="name,tel" />

这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示“带*号的为必填内容,请正确填写”,当然,这一句话可以改成其它的文字.


在网上也看到直接用js来做必填项判断的,大家也可以去测试下,js代码如下


$(document).ready(function() 
{ 
//验证 
$('#complain').submit(function () 
{ 
if($('#name').val()==""){ 
$('#name').focus(); 
alert("用户名不能为空!"); 
return false; 
} 
if($('#tel').val()=="") 
{ 
$('#tel').focus(); 
alert("联系电话不能为空!"); 
return false; 
} 
if($('#title').val()=="") 
{ 
$('#title').focus(); 
alert("标题不能为空!"); 
return false; 
} 
if($('#text').val()=="") 
{ 
$('#text').focus(); 
alert("具体内容不能为空!"); 
return false; 
} 
}) 
}); 

注意:

$('#complain').submit(function () //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain".
if($('#name').val()==""){
$('#name').focus();//#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同.

设置好后更新就可以看到效果了.


赞赏支持

登录 后发表评论
0条评论
还没有人评论过~