Não tenho costume de trabalhar com objetos Command, mas, lendo a documentação (http://grails.org/doc/latest/guide/theWebLayer.html#commandObjects), vi a seguinte declaração: "A class is only considered to be a command object when it is used as a parameter of an action.". Será que não é esse o problema?
André ótima observação.
O Command, como vimos segundo a doc, é um objeto que quando passado por parâmetro de uma action, ele o instancia e o valida. No meu caso, esta ação não pode ocorrer pois meu formulário contém apenas um file e uma descrição, ao fazer o data binding ele nunca passaria na validação. A dúvida que deixo agora, e que irei iniciar a pesquisa neste momento sobre isso, é como posso realizar a validação dos itens existentes em meu arquivo que faço upload. Eu possuo regras de negócio que devem ser satisfeitas antes que exista a persistência dos dados. Ontem analisando pensei em extarnalizar essas regras em uma service e as chamar dentro de um objeto POJO. Só que lí na doc que posso marcar um POJO, ou qualquer outra classe, com a anotação @Validation e usufruir das mesmas vantagens, agora estou na dúvida em como proceder. Talvez usar Spring 'puro'?
Se tiver alguma sugestão será muito bem vinda André.
Você pode usar seu pojo, realizar o dataBind na mão mesmo e fazer um custom validator nele (http://grails.org/doc/latest/guide/validation.html#constraints), onde verificará todas as questões internas do arquivo.
Se achar que seu pojo vai ficar sujo ou algo assim, é uma ideia utilizar outra classe com o @Validation como você mesmo sugeriu. De qualquer forma, nesta classe, você teria que criar um custom validator para tal, acho que cairia na mesma questão.
Tenho costume também de utilizar um service para salvar objetos com uma regra de negócio mais complexa, jogando exceções de validação caso ocorra erro para o Controller tratar (ValidationException). Você poderia criar um método save que receberia os parâmetros necessários e faria o tratamento desejado.