Dec 30th, 2015, 8:32 AM
I have a date field for date of birth on an internal form.
If the user enters month / day / year (mm/dd/yyyy) by mistake for example,
12/31/1986 and saves the form captures 01/01/1970.
How can a create a hook to prevent mm/dd/yyyy entries storing 01/01/1970.
I have tried a code hook, update, submission end
if (empty($_POST["dob"])) {
echo '<script language="javascript">';
echo 'alert("Date of birth required")';
echo '</script>';
}else if (!empty($_POST["dob"])) {
$dob = ($_POST["dob"]);
$date_regex = '/(0[1-9]|[12][0-9]|3[01])[\/.](0[1-9]|1[012])[\/.](19|20)\d\d/';
if (!preg_match($date_regex, $dob)){
$_POST["dob"] = "";
echo '<script language="javascript">';
echo 'alert("Date of birth not ok")';
echo '</script>';
}
but cannot make it work.i.e. bank out the incorrectly formatted date.
Please can anyone help??
If the user enters month / day / year (mm/dd/yyyy) by mistake for example,
12/31/1986 and saves the form captures 01/01/1970.
How can a create a hook to prevent mm/dd/yyyy entries storing 01/01/1970.
I have tried a code hook, update, submission end
if (empty($_POST["dob"])) {
echo '<script language="javascript">';
echo 'alert("Date of birth required")';
echo '</script>';
}else if (!empty($_POST["dob"])) {
$dob = ($_POST["dob"]);
$date_regex = '/(0[1-9]|[12][0-9]|3[01])[\/.](0[1-9]|1[012])[\/.](19|20)\d\d/';
if (!preg_match($date_regex, $dob)){
$_POST["dob"] = "";
echo '<script language="javascript">';
echo 'alert("Date of birth not ok")';
echo '</script>';
}
but cannot make it work.i.e. bank out the incorrectly formatted date.
Please can anyone help??