Pessoal estou com o código de validação aqui em java script e coloquei tudo certinho na pasta "js" e no meu código "create" fiz uma referencia a esse script de validação CPf, como mostra abaixo: <script type="text/javascript" src="${resource(dir:'js',file:'validaCpf.js')}"></script> E abaixo segue a parte q fiz a referencia a este script: <tr class="prop"> <td valign="top" class="name"> <label for="cpf"><g:message code="motorista.cpf.label" default="Cpf" /></label> </td> <td valign="top" class="value ${hasErrors(bean: motoristaInstance, field: 'cpf', 'errors')}"> <g:textField name="cpf" value="${fieldValue(bean: motoristaInstance, field: 'cpf')}" onclick="VerificaCPF();" /> </td> </tr> Codigo do java script: function VerificaCPF () { if (vercpf(document.fieldValue.cpf.value)) {document.fieldValue.submit();}else {errors="1";if (errors) alert('CPF NÃO VÁLIDO'); document.retorno = (errors == '');}} function vercpf (cpf) {if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") return false; add = 0; for (i=0; i < 9; i ++) add += parseInt(cpf.charAt(i)) * (10 - i); rev = 11 - (add % 11); if (rev == 10 || rev == 11) rev = 0; if (rev != parseInt(cpf.charAt(9))) return false; add = 0; for (i = 0; i < 10; i ++) add += parseInt(cpf.charAt(i)) * (11 - i); rev = 11 - (add % 11); if (rev == 10 || rev == 11) rev = 0; if (rev != parseInt(cpf.charAt(10))) return false; alert('O CPF INFORMADO É VÁLIDO.');return true;} O problema pessoal é q não está validando e eu já testei este script de validação e está tudo certinho, então gostaria da ajuda de vocês para ver o q pode ser este problema. Obrigado Pessoal