我为注册表添加了一个名为 ID 号的新字段,我想将其验证为必填文件。我添加了以下代码
目录''语言''英语''帐户''注册.php
目录''语言''英语''结帐''结帐.php
$_['antry_nicd'] = 'ID Number:';
$_['error_nicd'] = 'Please enter a valid ID Number!';
并在控制器中
目录''控制器''签出''注册.php
if ((utf8_strlen($this->request->post['nicd']) < 1) || (utf8_strlen($this->request->post['nicd']) > 11)) {
$json['error']['nicd'] = $this->language->get('error_nicd');
}
目录''控制器''签出''来宾.php
if (isset($this->session->data['guest']['nicd'])) {
$this->data['nicd'] = $this->session->data['guest']['nicd'];
} else {
$this->data['nicd'] = '';
}
在我的表单中,它显示文本字段,但不验证或显示错误,所有其他必填字段显示错误。
有人可以告诉我如何让它显示错误以及我做错了什么吗?
您需要向模板文件添加一些代码...
打开 catalog/view/theme/*/template/checkout/register.tpl 并找到以下内容:
<input type="text" name="email" value="" class="large-field" />
然后在它之后添加:
<br />
<br />
<span class="required">*</span> <?php echo $entry_ncid; ?><br />
<input type="text" name="ncid" value="" class="large-field" />
然后打开 catalog/view/theme/*/template/checkout/checkout.tpl 并找到以下内容:
if (json['error']['email']) {
你会发现有三种情况...两个用于付款详细信息,一个用于运输详细信息(下面的行"if (json['error']['email']){"显示它是送货地址还是付款地址),具体取决于您的配置将取决于您是否执行所有三个...
在添加之前:
if (json['error']['ncid']) {
$('#payment-address input[name=''ncid''] + br').after('<span class="error">' + json['error']['ncid'] + '</span>');
}
然后,您需要对注册模板文件执行相同的操作...
打开目录/视图/主题/*/模板/帐户/注册.tpl 查找以下内容:
<td><input type="text" name="email" value="<?php echo $email; ?>" />
然后在它添加(偏移 4)之后:
<tr>
<td><span class="required">*</span> <?php echo $entry_ncid; ?></td>
<td><input type="text" name="ncid" value="<?php echo $ncid; ?>" />
<?php if ($error_ncid) { ?>
<span class="error"><?php echo $error_ncid; ?></span>
<?php } ?></td>
</tr>
如果有帮助,请投票我的答案...
这应该可以解决它...如果您有任何问题,请告诉我...
非常感谢杰里米