Erro validação de CPF/CNPJ no checkout
Enviado: 08 Ago 2015, 14:05
Olá galera, tudo bem?
Estou com problemas para adicionar a validação de CPF/CNPJ no checkout.
Baixei um modulo para validação mas só tem suporte para registro pelo Account e não tem pelo Checkout.
Estou tentando replicar essa validação.
Editei os seguintes arquivos:
Checkout/register.tpl
Alguém poderia me ajudar?
Obrigado!
Estou com problemas para adicionar a validação de CPF/CNPJ no checkout.
Baixei um modulo para validação mas só tem suporte para registro pelo Account e não tem pelo Checkout.
Estou tentando replicar essa validação.
Editei os seguintes arquivos:
Checkout/register.tpl
Código: Selecionar todos
controller/checkout/register.php
<div class="form-group required">
<label class="col-sm-2 control-label" for="input-firstname">Tipo</label>
<div class="col-sm-10">
<?php if ( isset($cpf) && !empty($cpf) ){?>
<input type="radio" name="pessoa" id="fisica" checked value="fisica">
Pessoa Física
<input type="radio" id="juridica" name="pessoa" value="juridica">
Pessoa Juridica
<?php }else if ( isset($cnpj) && !empty($cnpj) ){?>
<input type="radio" name="pessoa" id="fisica" value="fisica">
Pessoa Física
<input type="radio" id="juridica" name="pessoa" checked value="juridica">
Pessoa Juridica
<?php
}else{
?>
<input type="radio" name="pessoa" id="fisica" checked value="fisica">
Pessoa Física
<input type="radio" id="juridica" name="pessoa" value="juridica">
Pessoa Juridica
<?php
}
?>
</div>
</div>
<div class="form-group required pessoa_fisica">
<label class="col-sm-2 control-label" for="cpf">CPF</label>
<div class="col-sm-10">
<input type="text" name="cpf" value="<?php echo $cpf; ?>" placeholder="CPF" id="cpf" class="form-control" />
<?php if ($error_cpf) { ?>
<div class="text-danger"><?php echo $error_cpf; ?></div>
<?php } ?>
</div>
</div>
<div class="form-group required pessoa_juridica">
<label class="col-sm-2 control-label" for="cnpj">CNPJ</label>
<div class="col-sm-10">
<input type="text" name="cnpj" value="<?php echo $cnpj; ?>" placeholder="CNPJ" id="cnpj" class="form-control" />
<?php if ($error_cnpj) { ?>
<div class="text-danger"><?php echo $error_cnpj; ?></div>
<?php } ?>
</div>
</div>
Código: Selecionar todos
No momento que registra pelo checkout ele não valida o CPF e também permite que ele seja registrado nulo. if (isset($this->request->post['cpf'])) {
$data['cpf'] = $this->request->post['cpf'];
} else {
$data['cpf'] = '';
}
if (isset($this->request->post['cnpj'])) {
$data['cnpj'] = $this->request->post['cnpj'];
} else {
$data['cnpj'] = '';
}
if (isset($this->error['cpf'])) {
$data['error_cpf'] = $this->error['cpf'];
} else {
$data['error_cpf'] = '';
}
if (isset($this->error['cnpj'])) {
$data['error_cnpj'] = $this->error['cnpj'];
} else {
$data['error_cnpj'] = '';
}
if (isset($this->request->post['pessoa'])&& $this->request->post['pessoa'] == "fisica"){
if ((strlen(utf8_decode($this->request->post['cpf'])) < 1) || (strlen(utf8_decode($this->request->post['cpf'])) > 14)) {
$this->error['cpf'] = "O CPF é obrigatório";
}elseif (!$this->customer->cpf($this->request->post['cpf'])){
$this->error['cpf'] = "O CPF é inválido!";
}
}else if (isset($this->request->post['pessoa'])&& $this->request->post['pessoa'] == "juridica"){
if ((strlen(utf8_decode($this->request->post['cnpj'])) < 1) || (strlen(utf8_decode($this->request->post['cnpj'])) > 18)&&($this->request->post['pessoa'] == "juridica")) {
$this->error['cnpj'] = "O CNPJ é obrigatório";
}elseif (!$this->customer->cnpj($this->request->post['cnpj'])){
$this->error['cnpj'] = "O CNPJ é inválido!";
}
}Alguém poderia me ajudar?
Obrigado!