Имам регистрационна форма със задължително поле за дата на раждане.
<tr>
<td><span class="required">*</span> <?php echo $entry_dob; ?></td>
<td><input type="text" id="dob" name="dob" value="<?php echo $dob; ?>" /><p id="age"></p>
<?php if ($error_dob) { ?>
<span class="error"><?php echo $error_dob; ?></span>
<?php } ?>
Така че в моя файл на php контролер [използвам софтуер, кодиран в MVC], имам следната следната функция, за да направя полето задължително:
if ((strlen(utf8_decode($this->request->post['dob'])) < 3) || (strlen(utf8_decode($this->request->post['dob'])) > 32)) {
$this->error['dob'] = $this->language->get('error_dob');
}
Също така трябва да потвърдя дали потребителят е на поне 19 години. Ако той/тя не е, ще се покаже грешка, използвам следната функция в същия файл на php контролер, за да постигна това:
$allowed_age = 19;
$bdate = strtotime($_REQUEST['dob']);
$age = (time()-$bdate)/31536000;
if($age < $allowed_age) {
$this->error['dob'] = $this->language->get('error_dob');
}
И аз го тествах и изглежда, че работи правилно. Въпреки това се чудех как мога да валидирам двете неща наведнъж. Искам да кажа, проверете дали потребителят е въвел dob и дали възрастта е над 19 години.
Не съм експерт, така че ако знаете по-добър начин да постигнете това, моля, споделете го.
С Най-Добри Пожелания,
Codekmarv