Oi Rodrigolg,
fico feliz que esteja gostando de participar. Bom: vamos ver se posso te ajudar ok? Vamos lá:
1) Como ordenar (forçar) campos (propriedades) definidos em uma classe groovy ? (Não sei o motivo, mas ele ordena da forma dele);
Há diversas maneiras de se fazer isto. Se estiver buscando seus objetos usando finders dinâmicos, pode incluir uma lista de parâmetros no final informando que quer fazer isto. Exemplo:
def livros = Livro.findAllByTituloLike("Coisas%", [sort:'title', order:'asc'])
No caso, estou ordenado pelo título e em ordem ascendente. (desc para descendente)
Se estiver trabalhando com criterias, basicamente a mesma coisa
def criteria = Livro.createCriteria()
def livros = criteria {
like("titulo", "Coisas%")
order("titulo", "asc")
}
E, ainda pode definir a ordenação no próprio mapeamento da classe se quiser também, como no exemplo abaixo:
class Livro {
static mapping = {
sort "titulo"
}
}
2) Como definir um campo do tipo data e fazer a validação do mesmo ? (Não desejo a forma em Combos ou Listas. Apenas no text Field e sem a hora);
Olha, com certeza vai ter uma solução mais bacana que a que vou apresentar, mas se não quiser usar o DatePicker, que facilita muito a vida, você pode incluir alguma lógica no seu controlador. Poderia por exemplo escrever um código de validação como o abaixo:
def formatoData = new java.text.SimpleDateFormat("dd/MM/yyyy")
try {
objeto.data = formatoData.parse(params.data)
} catch (Exception ex) {
// me esqueci da excessão disparada :)
flash.mensagemErro = "Data inválida"
// renderize novamente a view relacionada expondo o erro para o usuário
}
3) Como definir um campo do tipo currency (ou float) e fazer a validação do mesmo ? (Ex: ###.###.###.##0,00);
Há aqui mais de uma alternativa. Se for na interface gráfica, se não me engano é possível usar plugins que validem o seu texto de cara.
Caso contrário, você pode contar com lógica similar à que apresentei acima, só que ao invés de usar a classe java.text.SimpleDateFOrmat vai ter de usar a java.text.DecimalFormat.
E, o mais importante: não tenha receio em perguntar. Cada dúvida sua é um problema que mais alguém poderá enfrentar. Também vim do Delphi e sei como é complicada esta transição.
Qualquer coisa, estamos aqui disponíveis para lhe ajudar ok?
Grande abraço e bem vindo à turma!