我目前正在设计一个网站和数据库解决方案,允许管理员登录并查看/添加/编辑/删除数据库中保存的数据。
对于此人将进入这些表单的详细信息进行表单验证的最佳方式是什么;
即。日期必须具有约定xx / xx / xx
答案 0 :(得分:1)
有许多不同的方法来验证此类数据,但最常用的方法是使用regular expressions。您可能还需要在验证数据格式后检查其他内容。
例如,如果您想查看日期,可以执行以下操作:
function checkDateFormat($date)
{
//match the format of the date
if (preg_match ("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts)) {
//check weather the date is valid of not
if(checkdate($parts[2],$parts[3],$parts[1]))
return true;
else
return false;
} else {
return false;
}
}
这不仅会检查日期的格式(在这种情况下是yyyy / mm / dd,但您可以稍微修改它以支持yy / mm / dd或您想要的任何顺序),但也会检查它是否有效日期(例如2001/02/31不是有效日期)。
答案 1 :(得分:0)
您可以使用本机或类似的库来执行此操作。
本机:
//If form was submitted
if ($_POST['submitted']==1) {
// check date format, ...
if ($_POST[date]){
$date = $_POST[date]; //If date was entered
}
...
}
或通过图书馆:http://pear.php.net/package/HTML_QuickForm2
<?php
require_once 'HTML/QuickForm2.php';
require_once 'HTML/QuickForm2/Rule/Required.php';
require_once 'HTML/QuickForm2/Rule/Regex.php';
$form = new HTML_QuickForm2('tutorial');
$username = $form->addElement('text', 'username');
$form->addElement('submit', null, array('value' => 'Send!'));
$username->addRule(new HTML_QuickForm2_Rule_Required(
$username, 'Username is required!'
));
....