minSize, minsize, min não funciona
04/07/2012 01:12
0
Pessoal,

Segue minha constraint para a entrada de um CEP

	static constraints = {

cep(minSize: 8, maxSize: 8, blank: false)
}


Fiz um scaffold para conseguir input rapido dos meus usuários, porem ele esta permitindo que o usuário efetue um input menor que 8 sem retornar um erro.

Procurei tutoriais e ate mesmo a documentacao do Grails e encontrei o minSize e o min para esse genero de caso, mas simplismente não funciona.

Alguem poderia me ajudar com esse problema?

Grato,

Dertyu765
Tags: min minSize problema limite


0
Daniel,

teu campo "cep" é do tipo String?

Uso essa constraint num projeto aberto aqui comigo e funciona perfeitamente.


0
É do tipo Integer
04/07/2012 13:36


0
Tambem tenho campos de latitude e longitude que são Double, existe alguma limitacao nesse sentido?
04/07/2012 13:37


1
O minSize e maxSize não vai funcionar com int.

O minSize e maxSize limitam número de caracteres ou de itens numa array ou lista, mas com int não tem como ver o número de caracteres sem converter pra String, e a constraint não faz isso, por isso não funciona.

Você teria que usar min e max.


cep(min: 10000000, max: 99999999, blank: false)


Mas você teria problemas com CEPs que começam com zero.

Pra CEP, é muito melhor usar String mesmo.

Ou então criar um validator pra isso...
04/07/2012 14:18


0
Vou testar, mas qual a vantagem de usar um campo to tipo string para um valor completamente numerico?
04/07/2012 14:21


1
Olá, Daniel.

Perfeita as colocações do rcauler.

Amigo, campos numéricos devem ser usados quando vai fazer cálculos constantemente com seus valores, tipo o valor de um produto numa loja ou o peso de um boi.

Até onde sei, não se fica fazendo cálculos em CEP. Mas, se você faz questão que seja um campo numérico, tudo bem. Só que vai ter que criar uma validação personalizada pra ele, pois a única padrão para números seria a que o rcauler sugeriu.

Abraços.


1
O CEP não é um número. Ele é composto por números, mas não é UM número. A posição de cada número tem um significado. Por isso é melhor guardar como String e não como número.

Segue um link explicando a composição do CEP.

http://www.correios.com.br/servicos/cep/cep_estrutura.cfm
04/07/2012 15:42


0
Obrigado pessoal
05/07/2012 01:11



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto