必要な生年月日フィールドの登録フォームがあります。
<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');
}
そして、私はそれをテストしました、そしてそれはきちんと働いているようです。しかし、どうすれば2つのことを一度に検証できるのでしょうか。つまり、ユーザーがdobを入力したかどうか、および年齢が19歳を超えているかどうかを検証します。
私は専門家ではないので、これを達成するためのより良い方法を知っているなら、それを共有してください。
よろしくお願いします、
Codekmarv