deivisonarthur / OSC-Magento-Brasil

O projeto OCS-MAgento-Brasil é uma iniciativa para traduzir e adaptar o módulo free OSC(One Step Checkout) para Magento chamado IWD OnePageCheckout. O módulo irá traduzir, adicionar estados, formatar, validar campos e adicionar novos campos. Irei tratar principalmente os campos: Rua, Bairro, Cidade, Estado, Cep com busca por Ajax com busca nos Correios, CPF/CNPJ, IE(Inscrição Estadual), tipo pessoa, Telefone, Celular,...
43 stars 53 forks source link

Adicionar campo "confirme seu email" no cadastro #118

Closed lumnia closed 10 years ago

lumnia commented 10 years ago

Olá pessoal, estou precisando criar um campo extra na página de cadastro do OSC. Atualmente estou enfrentando muitos problemas devido ao erro de digitação do email pelo cliente. O campo será utilizado para que a pessoa possa digitar novamente o endereço de email afim de evitar erros de digitação. Consegui adicionar o novo campo no formulário do tipo “confirme seu email” mas não consigo fazer com que ele compare as duas strings e valide se correto. Sei que pra quem sabe é simples mas por ser iniciante estou tendo dificuldades e ficarei muito grato se alguém poder me ajudar.

faspada commented 10 years ago

Opa. Precisamos fazer isso essa semana, e fizemos assim:

Pra fazer a validação utilizamos esse código \js\prototype\alidation.js Adicionar o código abaixo, após o Bloco ['validate-admin-password'....]

['validate-cemail', 'Certifique-se de seus e-mails estão iguais.', function(v) {
    var conf = $$('.validate-cemail')[0];
    var pass = false;
    if ($('email')) {
    pass = $('email');
    }
    var emailElements = $$('.validate-email');
    for (var i = 0; i < emailElements.size(); i++) {
    var emailElement = emailElements[i];
    if (emailElement.up('form').id == conf.up('form').id) {
    pass = emailElement;
    }
    }
    if ($$('.validate-admin-email').size()) {
    pass = $$('.validate-admin-email')[0];
    }
    return (pass.value == conf.value);
}],

No Form, utilizei esse código. Adicionar o código abaixo do campo email. \app\design\frontend\default\seutemplate\template\onepagecheckout\onepage\billing.phtml

        <div class="full">
            <label for="billing:confirm_email" class="required"><em>*</em><?php echo $this->__('Confirmação do E-mail') ?></label>
            <div class="data_area">
                <input type="text" name="billing[confirm_email]"
                    title="<?php echo $this->__('Confirmação do E-mail
                            ') ?>"
                    id="billing:confirm_email"
                    class="t1 required-entry validate-cemail" />
            </div>
            </div>

Boa sorte..

lumnia commented 10 years ago

Fabiano, funcionou 100%! No meu caso apenas criei o arquivo alidation.js, pois ele não existia em meu diretório. Valeu mesmo pela ajuda. Abraços!