function validateFormmail(form1) { var reason = ""; reason += validateText(form1.nome,'Nome Completo',' o seu'); reason += validateEmail(form1.email); reason += validateonlyText(form1.mensagem,'Mensagem',' a sua'); //reason += validaConsentimento(form1.consentimento); if (reason != "") { alert("Alguns campos necessitam ser corrigidos:\n" + reason); return false; } form1.submit(); } function validateSexo(fld) { for (var i=0; i < fld.length; i++) { if (fld[i].checked) { var rad_val = fld[i].value; } } if (rad_val==undefined){ error = "Campo Sexo - Terá que seleccionar uma opção.\n"; return error; } return ''; } function validatePass(form1){ //verificar senhas senha=form1.senha.value; s1=form1.s1.value; error=''; if (senha=='') { form1.senha.style.background = '#f5adad'; error += "Campo Senha - Não introduziu a sua senha.\n"; } if (s1=='') { form1.s1.style.background = '#f5adad'; error += "Campo Confirmação Senha - Não introduziu a sua senha de confirmação.\n"; } if (senha!=s1) { form1.senha.style.background = '#f5adad'; form1.s1.style.background = '#f5adad'; error += 'Campo Senha - Senhas não são iguais.\n'; } return error; } function validatePass2(form1){ //verificar senhas sa=form1.sa.value; senha=form1.senha.value; s1=form1.s1.value; error=''; if (sa=='') { form1.sa.style.background = '#f5adad'; error += "Campo Senha - Não introduziu a sua senha antiga.\n"; } if (senha=='') { form1.senha.style.background = '#f5adad'; error += "Campo Senha - Não introduziu a sua senha.\n"; } if (s1=='') { form1.s1.style.background = '#f5adad'; error += "Campo Confirmação Senha - Não introduziu a sua senha de confirmação.\n"; } if (senha!=s1) { form1.senha.style.background = '#f5adad'; form1.s1.style.background = '#f5adad'; error += 'Campo Senha - Senhas não são iguais.\n'; } return error; } function validateonlyText(fld,campo,plursing) { var error = ""; if (fld.value == "") { fld.style.background = '#f5adad'; error = "Campo "+campo+" - Não introduziu "+plursing+" "+campo+".\n"; } else if (fld.value == campo) { fld.style.background = '#f5adad'; error = "Campo Nome - Tem que introduzir pelo menos 10 letras.\n"; } else if (fld.value.length < 10) { fld.style.background = '#f5adad'; error = "Campo Nome - Tem que introduzir pelo menos 10 letras.\n"; } else { fld.style.background = '#d8d8d8'; } return error; } function validateText(fld,campo,plursing) { var error = ""; var illegalChars= /[\(\)\<\>\;\\\"\[\]]/; var numeric = /[0-9]/; if (fld.value == "") { fld.style.background = '#f5adad'; error = "Campo "+campo+" - Não introduziu "+plursing+" "+campo+".\n"; } else if (fld.value == campo) { fld.style.background = '#f5adad'; error = "Campo Nome - Tem que introduzir pelo menos duas letras.\n"; } else if (fld.value.length < 2) { fld.style.background = '#f5adad'; error = "Campo Nome - Tem que introduzir pelo menos duas letras.\n"; } else if (fld.value.match(numeric)) { fld.style.background = '#f5adad'; error = "Campo Nome - Não aceita dados numéricos.\n"; } else if (fld.value.match(illegalChars)) { fld.style.background = '#f5adad'; error = "Campo Nome - Contém caracteres inválidos.\n"; } else { fld.style.background = '#d8d8d8'; } return error; } function validaConsentimento(fld){ var error = ""; if(fld.checked == false){ error = "Terá que ler e aceitar o consentimento dos dados enviados.\n"; document.getElementById("consentimento").style.background = '#f5adad'; }else{ document.getElementById("consentimento").style.background = '#eee'; } return error; } function validateAge(fld) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); var alpha = /[a-zA-Z]/; if (fld.value == "") { error = "Campo Idade - Não introduziu nenhum número.\n"; fld.style.background = '#f5adad'; } else if (isNaN(parseInt(stripped))) { error = "Campo Idade - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.match(alpha)){ error = "Campo Idade - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.length > 2) { error = "Campo Idade - Este campo só permite 2 dígitos.\n"; fld.style.background = '#f5adad'; } else { fld.style.background = '#d8d8d8'; } return error; } function validateNum(fld,campo) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); var alpha = /[a-zA-Z]/; if (fld.value == "") { error = "Campo "+campo+" - Não introduziu nenhum número.\n"; fld.style.background = '#f5adad'; } else if (isNaN(parseInt(stripped))) { error = "Campo "+campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.match(alpha)){ error = "Campo "+campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else { fld.style.background = '#d8d8d8'; } return error; } function validateAddress(fld) { var error = ""; if (fld.value.length == 0) { fld.style.background = '#f5adad'; error = "Campo Morada - Não introduziu a sua morada.\n"; } else { fld.style.background = '#d8d8d8'; } return error; } function validateCity(fld) { var error = ""; if (fld.value.length == 0) { fld.style.background = '#f5adad'; error = "Campo Localidade - Não introduziu a sua morada.\n"; } else { fld.style.background = '#d8d8d8'; } return error; } function validatePostalCode(fld) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\ ]/g, ''); if (fld.value == "") { fld.style.background = '#f5adad'; error = "Campo Cód. Postal - Não introduziu nenhum Cód. Postal.\n"; } else if(isNaN(parseInt(stripped))){ fld.style.background = '#f5adad'; error = "Campo Cód. Postal - Contém caracteres inválidos (ex:1234-000).\n"; } else if(fld.value.length !=8){ fld.style.background = '#f5adad'; error = "Campo Cód. Postal - São necessários sete dígitos e um hífen (ex: 1234-000).\n"; } else if(fld.value.length == 8){ reZip = new RegExp(/(^\d{4}-\d{3}$)/); if(!reZip.test(fld.value)){ fld.style.background = '#f5adad'; error = "Campo Cód. Postal - Código Postal incorrecto (ex: 1234-000).\n"; } } else { fld.style.background = '#d8d8d8'; } return error; } function trim(s){ return s.replace(/^\s+|\s+$/, ''); } function validatePhone(fld,campo) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); var alpha = /[a-zA-Z]/; if (fld.value == "") { error = "Campo "+campo+" - Não introduziu nenhum número.\n"; fld.style.background = '#f5adad'; } else if (isNaN(parseInt(stripped))) { error = "Campo "+campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.match(alpha)){ error = "Campo "+campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (!(stripped.length == 9)) { error = "Campo "+campo+" - Tem que ter 9 dígitos.\n"; fld.style.background = '#f5adad'; } else { fld.style.background = '#d8d8d8'; } return error; } function validateNif(fld) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); var alpha = /[a-zA-Z]/; if (fld.value == "") { error = "Campo NIF - Não introduziu nenhum número.\n"; fld.style.background = '#f5adad'; } else if (isNaN(parseInt(stripped))) { error = "Campo NIF - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.match(alpha)){ error = "Campo NIF - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (!(stripped.length == 9)) { error = "Campo NIF - Tem que ter 9 dígitos.\n"; fld.style.background = '#f5adad'; } else { fld.style.background = '#d8d8d8'; } return error; } function validateEmail(fld) { var error=""; var tfld = trim(fld.value); // value of field with whitespace trimmed off var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ; var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ; if (fld.value == "") { fld.style.background = '#f5adad'; error = "Campo E-mail - Não introduziu nenhum e-mail.\n"; } else if (!emailFilter.test(tfld)) { //test email for illegal characters fld.style.background = '#f5adad'; error = "Campo E-mail - Por favor introduza um e-mail válido.\n"; } else if (fld.value.match(illegalChars)) { fld.style.background = '#f5adad'; error = "Campo E-mail - Contém caracteres inválidos.\n"; } else { fld.style.background = '#d8d8d8'; } return error; } function validateDate(fld) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\ ]/g, ''); var minYear = 1902; var maxYear = (new Date()).getFullYear(); re = new RegExp(/^(\d{4})\/(\d{1,2})\/(\d{1,2})$/); // regular expression to match required date format if (fld.value == "aaaa-mm-dd"){ fld.style.background = '#f5adad'; error = "Campo Data - Introduza uma data válida"; } else if (isNaN(parseInt(stripped))) { fld.style.background = '#f5adad'; error = "Campo Data - Contém caracteres inválidos.\n"; } else if(fld.value != "") { if(regs = fld.value.match(re)) { if(regs[1] < minYear || regs[1] > maxYear) { fld.style.background = '#f5adad'; error = "Campo Data - Ano inválido: " + regs[1] + " - deve ser de " + minYear + " a " + maxYear +"\n"; } else if(regs[2] < 1 || regs[2] > 12) { fld.style.background = '#f5adad'; error = "Campo Data - Mês inválido: " + regs[2] +"\n"; } else if(regs[3] < 1 || regs[3] > 31) { fld.style.background = '#f5adad'; error = "Campo Data - Dia inválido: " + regs[3] +"\n"; } } else { fld.style.background = '#f5adad'; error = "Formato de data inválido: " + fld.value + " (ex: aaaa/mm/dd)\n"; } } else { fld.style.background = '#d8d8d8'; } return error; }