默認的dedecms自定義表單卻沒有必填項的設置,如果要設置織夢自定義表單的必填項,需要進行額外的修改!
方法一:通過修改程序源文件實現
1、在plus文件夾下找到diy.php文件,對其進行編輯,在第40行左右找到代碼:
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
2、在這行代碼下面,添加以下代碼后保存文件:
//增加必填字段判斷 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
3、在創建的自定義表單中找到代碼:
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
4、在這行代碼下面,添加代碼:
<input type="hidden" name="required" value="數據字段名,數據字段名" />
注意這行代碼要修改下,根據你的表單所需要設置的必填項,例如設置“姓名”、“郵箱”為必填項。
添加新字段–“表單提示文字”:姓名–“字段名稱”:name
添加新字段–“表單提示文字”:郵箱–“字段名稱”:email
如:
<input type="hidden" name="required" value="name,email" />
5、保存后,必填項設置完成,當用戶提交表單時間,系統檢查到必填項沒有輸入內容,就會提示“帶*號的為必填內容,請正確填寫”。
方法二:通過javascript腳本代碼實現檢測
1、把以下代碼保存為bitian.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,下同
2、在表單模板文件中添加調用代碼:
<script src='文件路徑/js.js' type="text/javascript"></script>
3、保存后,重新生成網頁!