我的表格有可放置区域:
<form>
<span id="error">
<!----Initializing Session for errors--->
<?php
if (!empty($_SESSION['error1'])) {
echo $_SESSION['error1'];
unset($_SESSION['error1']);
}
?>
</span>
<div class="projLeader">
<ol>
<li class="placeholder" name="projLeader" <?php if (isset($projLeader)) echo 'value="'.$projLeader.'"' ?>><div class="adding">Drop here</div></li>
<input type="hidden" name="projLeader" class="hiddenListInput1" required/>
</ol>
<input type = "submit" name ="submit" class="button" value = "Create Report" onclick="userSubmitted = true;"/>
</div>
</form>
一旦项目被删除,占位符“Drop here”将被删除。我通过这个js函数保存丢弃的数据:
var LISTOBJ1 = {
saveList: function() {
var listCSV = "";
$( ".projLeader li" ).each(function() {
if (listCSV === "") {
listCSV = $(this).text();
} else {
listCSV += "," + $(this).text();
}
$(".hiddenListInput1").val(listCSV);
});
}
}
所以我的问题是我如何进行验证并且不允许用户提交空字段或带有“Drop here”占位符的字段,因为如果用户没有添加任何东西而只是按下提交我得到了占位符来打印。 我试图通过发布数据并检查它是否为空来检查它是否为空:
$projLeader=$_POST['procLeader'];
if (empty($projLeader))
{
//setting error message
$_SESSION['error1'] = "Mandatory field(s) are missing, Please fill it again";
header("location: createProject2.php"); //redirecting to first page
}
那么进行验证的方法是什么?感谢
答案 0 :(得分:1)
如果dropped
区域中没有任何项目droppable
,那么您的hidden
字段将具有"Drop here"
值。因此,condition
应该检查隐藏字段是no value
还是隐藏字段有"Drop here"
值,并且应该考虑blank
。
注意:你的法术获取隐藏字段的值也是错误的。它必须是projLeader
而不是procLeader
。
请尝试使用以下修改后的PHP代码。
$projLeader=trim($_POST['projLeader']);
if (empty($projLeader) || $projLeader == "Drop here")
{
//setting error message
$_SESSION['error1'] = "Mandatory field(s) are missing, Please fill it again";
header("location: createProject2.php"); //redirecting to first page
}
必须在要使用sesstion_start();
的两个页面上放置$_SESSION
功能。