O template flatfiles/contato.html não está utilizando a templatetag fornecida pelo newforms, o que seria interessante. Porém, a saída utilizada pelo newforms utiliza o estilo de tags XML e nosso código está baseado em HTML 4.01. Dessa maneira, uma solução para isso deveria ser encotrada também.
Deixe sua opinião abaixo!
Comment #1
Posted on Oct 2, 2007 by Quick CatBem, o tratamento de erros que eu tinha imaginado não é exatamente como está.
É bom que o usuário receba uma mensagem dizendo a ele qual foi o erro, ao invés de apenas receber uma mensagem genérica. Veja o caso desse formulário[1] feito com PSE. É basicamento isso que eu tinha imaginado, exceto pelo fato de que os erros serão mostrados na página, e não em alertboxes. ;)
Comment #2
Posted on Oct 2, 2007 by Helpful GiraffeEu não tinha entendido. :-P
Bom, o que faremos?
Comment #3
Posted on Oct 2, 2007 by Quick CatÉ... é uma boa pergunta... :) Claro, isso foi apenas uma sugestão. E eu, como não entendo muito de programação, não faço a menor idéia de como implementar. Só acredito que seja possível, baseado no que já vi por aí. :)
Se eu não me engano, na última parte do tutorial tem algo sobre tratamento de erros em formulários...
Comment #4
Posted on Oct 3, 2007 by Helpful GiraffeNa verdade é o que está fazendo. Não sei se percebeu... só que não temos CSS para tratar os erros.
O que disse acima é que o formulário não foi gerado dinâmicamente pelo newforms com {{ form.as_ul }} e, se fizermos assim, vem com as tags no estilo XHTML.
Comment #5
Posted on Oct 3, 2007 by Quick CatEngraçado... aqui a mensagem é sempre "Por favor, preencha todos os campos corretamente".
Quanto ao lance do newforms, eu não faço a mínima idéia do que fazer. Se for o caso, a gente muda o doctype, sem problemas. Acredito que não vai ter muitas coisas pra alterar não, mas que vai ser chato, vai. :P
Comment #6
Posted on Oct 3, 2007 by Helpful GiraffeOlhe entre o label e o input, ele exibe o erro em questão lá.
No caso, se formos usar o XHTML mesmo, podemos ficar no meio termo e talvez passar para transitional que fica válido, não? Se quiser ir direto pro Strict, é fácil trocar tudo.. mas vamos deixar para uma outra oportunidade, pois não sei se tem coisa que vai precisar mudar no CSS também (no caso da tag button, que não conhecia e nem sei se é válida no XHTML). :-P
E aproveitando, se a gente usar newforms em sua totalidade, é só trocar o formulário por {{ form.as_ul }}, daí teríamos que trocar o CSS do formulario.css para atender a ele.
Comment #7
Posted on Oct 3, 2007 by Quick CatNão, não há nada entre o label e o input. Estranho...
Quanto ao XHTML, eu prefiro que seja Strict, já que os nossos "grandes amigos" IEs costumam ser muito inconsistentes com o Transitional, rendendo mais dor de cabeça e retrabalho. De resto, tudo o que eu estou usando no código é válido em XHTML Strict, exceto, é claro, pelo fechamento das tags input, meta, link, img, etc. E no CSS, a mudança de doctype não alteraria em nada.
Bom, se você acha que essa seria a melhor saída, vamos em frente. O que tiver que mudar no CSS eu estou aí. ;)
Comment #8
Posted on Oct 3, 2007 by Helpful GiraffeUé, que estranho. :-P
Eu acho que tirei isso antes de dar o commit, pois não tinha CSS tratando os erros. No caso, você ver como ficaria trocando os inputs e labels por {{ form.as_ul }}.
Caso não te agrade (tipo, vai ficar sem as keybindings), podemos criar uns widgets para os labels e input para aceitar um parametro com as keybindings.
Como não estamos utilizando nada específico do HTML 4, vou ajeitar as tags para o XHTML, para podermos utilizar newforms sem problemas agora. Ok? Cheguei a olhar se o newforms iria suportar as tags do HTML, mas pelo que li eles não estão se preocupando com isso pois o HTML 5 vai aceitar as tags no mesmo estilo.
No caso, vou precisar que adapte o CSS dos formularios para encaixar na saída gerada pelo newforms. Você pode usar {{ form.as_ul }}, {{ form.as_table }} ou {{ form.as_p }}. Qualquer outra coisa relacionada à saída, você pode olhar em http://www.djangoproject.com/documentation/newforms/, não tem segredos.
Comment #9
Posted on Oct 3, 2007 by Helpful GiraffeO código no repositório já está como XHTML 1.1 Strict (e validado). Foi só adicionar / nas tags solitárias. :-P
Quando mexer no CSS dos formulários, dê uma conferida nos outros formulários também (comentário, visualização de comentário e barra lateral em Comunidade e Contato). Acho que dá pra fazer um negócio legal para atender todos eles.
Comment #10
Posted on Oct 4, 2007 by Quick CatBom, o código não é ruim não, mas não sei se ficaria fácil fazer da forma como estava, com toda aquelas parafernálias de acessibilidade e talz...
Além disso, é realmente necessário que todos os formulários sejam com newforms? Por exemplo, nos formulários da barra lateral, que são só um input e um button, não vejo muita necessidade disso.
Também não gostei da forma como são tratados os erros. Ele mexe diretamente com o código do formulário, inserindo uma outra UL (class="errorlist") dentro de cada LI cujo campo apresentou erro. Isso é muito, muito feio...
Comment #11
Posted on Oct 4, 2007 by Helpful GiraffeNão não.. nem tudo vai usar newforms, só disse para dar uma olhada no CSS dos formulários como um todo.
Quanto ao tratamento de erro e as tags label e input com as "parafernália" de acessibilidade, isso tudo pode ser tratato, mas tem que criar os widgets suportando isso. Porém não sei se é uma boa hora mexer com isso...
Comment #12
Posted on Jul 31, 2008 by Helpful GiraffePreciso de mais opiniões quanto a isso.
Comment #13
Posted on Aug 1, 2008 by Happy RhinoPelo que vi, atualmente o formulário não esta tratando erros no formulário como um todo e não cada campo em si né?
Eu posso trabalhar nessa issue se concordarem.
Comment #14
Posted on Aug 1, 2008 by Helpful GiraffeFique à vontade! ;-)
Comment #15
Posted on Aug 19, 2008 by Helpful Giraffe(No comment was entered for this change.)
Comment #16
Posted on Jan 26, 2009 by Grumpy DogComment deleted
Comment #17
Posted on Mar 3, 2009 by Helpful GiraffeAcho que isso pode ser fechado, é antigo e acho que a melhoria sugerida, se é que é uma melhoria, virá com a evolução do código. Hoje ele atende. ;-)
Status: WontFix
Labels:
Type-Enhancement
Priority-Medium