У меня есть регистрационная форма с обязательным полем даты рождения.
<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');
}
И я проверил его, и он, кажется, работает правильно. Однако мне было интересно, как я могу проверить две вещи одновременно. Я имею в виду, проверьте, ввел ли пользователь док, и если возраст старше 19 лет.
Я не эксперт, поэтому, если вы знаете лучший способ добиться этого, поделитесь им.
С уважением,
Кодекмарв