
Amanda Makino
Membros-
Total de itens
20 -
Registro em
-
Última visita
Sobre Amanda Makino

- Data de Nascimento 12/12/1987
Perfil
-
Gender
Female
-
Location
Taquaritinga/Monte Alto
Amanda Makino's Achievements
0
Reputação
-
(Resolvido) Campos não obrigatórios sendo salvos como string vazia ao
pergunta respondeu ao Amanda Makino de Amanda Makino em Java
Resolvido! Criei um Converter (conversor) que trata a string vazia e o utilizei diretamente no meu xhtml... Conversor: @Name("stringVaziaConverter") public class StringVaziaConverter implements Converter{ public Object getAsObject(FacesContext arg0, UIComponent arg1, String valor) { if (valor.equals("")) return null; else return valor; } public String getAsString(FacesContext context, UIComponent component, Object object) { if (object == null) return null; else return object.toString(); } } Xhtml: <h:panelGrid columns="1"> <h:panelGrid columns="1"> <h:outputText value="#{msgs['complemento']}" styleClass="output"/> <h:inputText id="complemento" maxlength="10" value="#{participanteBean.participante.endereco.complemento}" style="width:250px;" styleClass="caixatextoCadastro" converter="#{stringVaziaConverter}" onfocus="this.style.backgroundColor='#{a4jSkin.additionalBackgroundColor}'" onblur="this.style.backgroundColor='#{a4jSkin.generalBackgroundColor}'" /> </h:panelGrid> </h:panelGrid> Então deu certo! ;) -
Gente, é o seguinte... Tenho um formulário onde nem todos os campos são obrigatórios... E quando o usuário salva o registro sem preencher tais campos, suas respectivas propriedades não estão ficando nulas, e sim, sendo preenchidas com uma string vazia (''). Ou seja.... No meu xhtml, por exemplo, eu tenho: <h:inputText id="complemento" maxlength="100" value="#{participanteBean.participante.endereco.complemento}" style="width:400px;" styleClass="caixatextoCadastro" onfocus="this.style.backgroundColor='#{a4jSkin.additionalBackgroundColor}'" onblur="this.style.backgroundColor='#{a4jSkin.generalBackgroundColor}'" /> Aí o usuário não preenche o campo complemento e clica em salvar.... o que é super normal... u.u Até aí tudo bem... só que no meu bean a propriedade complemento, ao invés de estar nula, está como string vazia. E consequentemente essa string vazia está indo pro banco... Bom, pra solucionar isso... Eu estou tratando o valor recebido lá no set da propriedade: public void setComplemento(String complemento) { this.complemento = (complemento.length() == 0) ? null : complemento; } Mas, poxa, eu vou ter que fazer isso em todos os campos do tipo String que não forem obrigatórios no form?! Sinceramente não gostei dessa solução... Não teria um jeito melhor de impedir a gravação de strings vazias no banco?! Alguma configuração no servidor, no banco de dados... sei lá... o.O Utilizo o PostgreSQL aqui.... Se alguém tiver uma luz... por favor... Vlw! ;)
-
Ahhhh!! Deu certo!!!! \o/ Finalmente! O problema é que a função estava passando a diferença em milisegundos para o cálculo do mod (%). E o que deveria passar era a diferença em dias, então fiz o seguinte: public Long CalcularHorario(Date dataItem, String[] sequencia, Date dataCriacao) { Long diferencaEmMiliSegundos = dataItem.getTime() - dataCriacao.getTime(); Long diferencaEmDias = diferencaEmMiliSegundos/(1000L*60L*60L*24L); return Long.parseLong(sequencia[(int) (diferencaEmDias % sequencia.length)]); } E funcionou! Nem acredito!! hehe!! Obrigada, Isoron!!! ;)
-
Ahhh sim... q simples.. ^^ rsrsrs Vlw... Mas desse modo não funcionou... =/ Pra testar eu cadastrei um revezamento e logo depois o consultei... O calendário da tela de consulta deveria estar do mesmo jeito que o da tela de cadastro, afinal, criei e consultei no mesmo dia... Mas não é o que acontece... =/ Quando consulto e mando calcular os horários e jogar no calendário certinho... Fica tudo embaralhado... Método: public Long CalcularHorario(Date dataItem, String[] sequencia, Date dataCriacao) { Long utDataItem = dataItem.getTime(); Long utDataCriacao = dataCriacao.getTime(); return Long.parseLong(sequencia[(int) (utDataItem - utDataCriacao) % sequencia.length]); } Prints no endereço: http://novo.xpg.com.br/site/index.php?uid=1104717867551502 Passos para visualizá-los: - clique no "+" de Fotos - abra o álbum Aplicação - clique na primeira foto ("Cadastrando"). - depois é só indo pra frente...
-
Só achei o caminho inverso.. conversão de unix time para date... =/
-
Humm.. então tá! ^^ rsrs Mas então... estou tentando converter a data para unix time no meu bean... Mas não estou conseguindo... Qual a sintaxe java pra isso?!
-
Vixi... mas em 2038 parece que o Unix Time vai dar pau... ><' rs Será que não tem outro modo?!
-
iSoron, nossa... muito obrigada pela resposta! Vou tentar implementar sua sugestão! Tenho quase certeza que irá dar certo... Depois eu volto para confirmar isto.. Vlw, obrigada mesmo!! você é um gênio! :D Estava ficando louca aqui sem uma solução..rsrs ^^
-
Estagiários efetivados
tópico respondeu ao .Andreia. de Amanda Makino em Novidades e Anúncios Script Brasil
Aee!!! Parabéns, gente! Foi merecido! ;) -
Caros, a situação é a seguinte... Estou implementando um programa de Cadastro de Revezamentos Esses revezamentos são utilizados por aqueles funcionários que não fazem somente um horário todos os dias (como é de costume)... Eles fazem revezamentos, por exemplo: na segunda e na terça... fazem o horário da manhã... na quarta e na quinta.. trabalham à noite... sábado folgam... domingo trabalham no horário da tarde... e assim vai... Bem, andei olhando alguns sistemas de ponto pra ter uma idéia de como fazer esse cadastro... E vi um que achei bem interessante... só que é desktop... O que ele faz: - Na tela de cadastro... um "calendário" é preenchido automaticamente de acordo com a data atual: - Esse calendário é preenchido de acordo com o que foi preenchido na escala (seqüência de horários). Vejam só: - Na consulta, o programa exibe um calendário de acordo com a data atual e calcula quais são os horários respectivos para cada dia.. preenchendo-o. Então se eu cadastrei hoje esse revezamento... com a primeira coluna do calendário da seguinte forma: 1 2 3 4 1 2 3 4 Se eu for consultá-lo na sexta, essa primeira coluna estará: 4 1 2 3 4 1 2 3 O meu grande problema é esse... como preencher esse calendário automaticamente de acordo com a data atual nessa consulta? Sendo que: - não gravo um horário pra cada dia do ano... - gravo a escala (seqüencia de horários) e - gravo a data de criação do revezamento Alguma luz?! Já pensei tanto numa solução... mas não consigo encontrar nenhuma! >< Vlw, pessoal..
-
(Resolvido) função que retira acento não funciona
pergunta respondeu ao +.jr_Designer.+ de Amanda Makino em Ajax, JavaScript, XML, DOM
Olá! No meu trabalho precisei implementar uma função para deixar tudo em maiúsculo e remover acentos. Segue a função que implementei: function FormataInfo(){ var input = document.getElementsByTagName('input') var textarea = document.getElementsByTagName('textarea') var especiais = "ÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÃÕÇ!@#$%^*_+=~`´"; var corretas = "AEIOUAEIOUAEIOUAEIOUAOC_____________"; // Percorre todos os campos contidos na página que sejam do tipo textarea. for(var i=0; i<textarea.length; i++) { // Passa todos os caracteres do textarea para maiúsculo. textarea[i].value = textarea[i].value.toUpperCase(); // Percorre o array de caracteres especiais. for(var j=0; j<especiais.length; j++) { // Percorre os caracteres contidos no campo. for(var k=0; k<textarea[i].value.length; k++) { textarea[i].value = textarea[i].value.replace(especiais.substr(j,1),corretas.substr(j,1)); textarea[i].value = textarea[i].value.replace("_",""); } } } // Percorre todos os campos contidos na página que sejam do tipo input (Text). for(var l=0; l<input.length; l++) { if (input[l].type == 'text') { // Passa todos os caracteres do input para maiúsculo. input[l].value = input[l].value.toUpperCase(); // Percorre o array de caracteres especiais. for(var m=0; m<especiais.length; m++) { // Percorre os caracteres contidos no campo. for(var n=0; n<input[l].value.length; n++) { input[l].value = input[l].value.replace(especiais.substr(m,1),corretas.substr(m,1)); input[l].value = input[l].value.replace("_",""); } } } } } Espero que tenha ajudado! ;) Ah! E a função é chamada no submit do meu form. Assim: <h:form id="formCadastro" onsubmit="FormataInfo();"> -
(Resolvido) Validação de Campos Obrigatórios sem a utilização de IDs
pergunta respondeu ao Amanda Makino de Amanda Makino em Ajax, JavaScript, XML, DOM
Poxa, vlw, Giga!! Deu certo! E sem gambiarras! hahaha! ^^ Vlw mesmo!! E vlw pelo toque do try catch... realmente... uma mão na roda! xD Abraço! o/ function ValidarCamposObrigatorios(form){ var qtdErros = 0; var inputs = document.getElementsByTagName('input'); // Remove as imagens que já estavam sendo mostradas. while(img = document.getElementById("imgInputErro")) { img.parentNode.removeChild(img); } while(img = document.getElementById("imgInputOk")) { img.parentNode.removeChild(img); } // Percorre os inputs da tela verificando a obrigatoriedade. for (x in inputs) { var imgInputOk = document.createElement('img'); imgInputOk.setAttribute('src', '/lanfredi/imagens/validar_ok.gif'); imgInputOk.setAttribute('id', 'imgInputOk'); var imgInputErro = document.createElement('img'); imgInputErro.setAttribute('src', '/lanfredi/imagens/validar_erro.gif'); imgInputErro.setAttribute('id', 'imgInputErro'); input = inputs[x]; // Verifica se o input é obrigatório. if (input.className == "caixatextoCadastroObrigatorio") { if(input.value == ""){ qtdErros += 1; // insere a imagem de erro ao lado da caixa de texto. insertAfter(imgInputErro, input); // coloca o foco no primeiro campo obrigatório não preenchido. if(qtdErros == 1) input.focus(); }else // insere a imagem de ok ao lado da caixa de texto. insertAfter(imgInputOk, input); } } if(qtdErros > 0){ document.getElementById(form.id + ':' + 'msgErroObrigatorio').style.display = 'inline'; document.getElementById(form.id + ':' + 'imgErro').style.display = 'inline'; return false; }else { document.getElementById(form.id + ':' + 'msgErroObrigatorio').style.display = 'none'; document.getElementById(form.id + ':' + 'imgErro').style.display = 'none'; return true; } } -
(Resolvido) Validação de Campos Obrigatórios sem a utilização de IDs
pergunta respondeu ao Amanda Makino de Amanda Makino em Ajax, JavaScript, XML, DOM
Aeeeee!! Enfim, resolvido! Gambiarras pra que te quero!!!!! \o/ rsrs... Como o meu problema é que no submit automático (executado após remover as imagens do form), a execução entrava no for de imagens e não saía... Fiz o seguinte... Coloquei um hidden com valor igual a true na minha página... E então eu verifico o valor dele... só entro no for se ele for true... if(auxiliar.value == 'true') { // Remove as imagens que já estavam sendo mostradas. for (w in imgs) { if (imgs[w].id == "imgInputErro" || imgs[w].id == "imgInputOk") { imgs[w].parentNode.removeChild(imgs[w]); auxiliar.value = 'false'; } } } Após remover, seto o hidden como false, pra que a execução não entre no for denovo... Pulado o for... ele vai pro fim da função.. onde seto o hidden como true. auxiliar.value = 'true'; if(qtdErros > 0){ document.getElementById(nameContainer + 'msgErroObrigatorio').style.display = 'inline'; document.getElementById(nameContainer + 'imgErro').style.display = 'inline'; return false; }else { document.getElementById(nameContainer + 'msgErroObrigatorio').style.display = 'none'; document.getElementById(nameContainer + 'imgErro').style.display = 'none'; return true; } pronto... deu certo! HUSAHUAS! Nem acredito! rs \o/ Bom, mais uma vez... vlw, Giga!!! Se não fosse você.. não sairia nada!! hehe!! Vlw! ;) Ufa! -
Hum... vem do BD... Ah... então acho que você deve utilizar ajax... pra isso...
-
(Resolvido) Validação de Campos Obrigatórios sem a utilização de IDs
pergunta respondeu ao Amanda Makino de Amanda Makino em Ajax, JavaScript, XML, DOM
Ahh então... Eu já faço isso... é que não postei a função inteira.. Segue a função inteira: function ValidarCamposObrigatorios(form){ alert('Entrando na Função ValidarCamposObrigatorios...'); CaixaAlta(); var inputs = document.getElementsByTagName('input'); var imgs = document.getElementsByTagName("img"); var qtdErros = 0; alert('Entrando no for de imagens...'); // Remove as imagens que já estavam sendo mostradas. for (w in imgs) { if (imgs[w].id == "imgInputErro" || imgs[w].id == "imgInputOk") { alert('Removendo imagem'); imgs[w].parentNode.removeChild(imgs[w]); } } alert('Saindo do for de imagens...'); // Percorre os inputs da tela verificando a obrigatoriedade. for (x in inputs) { var imgInputOk = document.createElement('img'); imgInputOk.setAttribute('src', '/lanfredi/imagens/validar_ok.gif'); imgInputOk.setAttribute('id', 'imgInputOk'); var imgInputErro = document.createElement('img'); imgInputErro.setAttribute('src', '/lanfredi/imagens/validar_erro.gif'); imgInputErro.setAttribute('id', 'imgInputErro'); input = inputs[x]; // Verifica se o input é obrigatório. if (input.className == "caixatextoCadastroObrigatorio") { if(input.value == ""){ qtdErros += 1; // insere a imagem de erro ao lado da caixa de texto. insertAfter(imgInputErro, input); // coloca o foco no primeiro campo obrigatório não preenchido. if(qtdErros == 1) input.focus(); }else // insere a imagem de ok ao lado da caixa de texto. insertAfter(imgInputOk, input); } } var nameContainer = form.id + ':'; alert(qtdErros); if(qtdErros > 0){ document.getElementById(nameContainer + 'msgErroObrigatorio').style.display = 'inline'; document.getElementById(nameContainer + 'imgErro').style.display = 'inline'; return false; }else { document.getElementById(nameContainer + 'msgErroObrigatorio').style.display = 'none'; document.getElementById(nameContainer + 'imgErro').style.display = 'none'; return true; } } Segue a chamada: <h:form id="formCadastro" onsubmit="return ValidarCamposObrigatorios(this);"> Bom, coloquei 5 alerts no meio da função... pra analisar o que está acontecendo..rsrs - Um para me mostrar quando a execução chama a minha função. - Um para me mostrar quando a execução entra no for de imagens - Um para me mostrar quando a execução remove uma imagem. - Um para quando ela sai do for de imagens - Um para me mostrar a quantidade de erros Ok.. Na primeira vez que tento salvar sem preencher nada, é exibido pra mim: - Entrando na Função ValidarCamposObrigatorios... - Entrando no for de imagens... - Saindo do for de imagens... - 3. Na segunda vez que tento salvar sem preencher nada, é exibido pra mim: - Entrando na Função ValidarCamposObrigatorios... - Entrando no for de imagens... - Removendo imagem - Removendo imagem - Removendo imagem - Entrando na Função ValidarCamposObrigatorios... - Entrando no for de imagens... E então dou ok... e pronto... meu modal some! Não sei porque... Será que não tá renderizando as imagens?! Inexplicável... ><' O duro é que teve uma vez que executei.. e que deu certo!!!! Fez tudo certinho!!! Mas isso foi depois de umas dez vezes que deu errado... =/ Não sei o que fazer... :(