Grails:属性空错误

时间:2011-03-17 20:20:32

标签: grails grails-domain-class grails-controller grails-validation grails-constraints

我有一个名为Modulo的域,带有一些属性,一个Controller带有一个方法,可以从模型创建一个对象并保存它,当执行保存shell时显示此错误:

  • La propiedad [{0}] de la clase [{1}] no puede ser nulo

但是如果我将约束设置为可为空,则错误再次显示。我认为我不应该设置这个cosntraint。

该模型链接到一个mysql表,除了id允许为null之外的所有属性。

我想我在这里做错了。有什么建议??

域名:模数

class Modulo {
    String nombre
    String icon
    String url




//static constraint = {
  //    url(nullable:true)
  //}

  }

控制器:示例

class ExampleController {
    def index = { 
       def modulo = new Modulo(
         nombre:'xxx',
         icon:'xxx'
        )

        if (modulo.save()){
          println 'ok'
        }else{
          modulo.errors.allErrors.each { println it.defaultMessage}
        }
    }
}

感谢。何

2 个答案:

答案 0 :(得分:3)

最后我解决了错误。这不能保存,因为约束写错了。

错误代码

 static constraint = {
     url(nullable:true)
 }

好的代码

static constraints = {
     url(nullable:true)
 }

感谢所有人的回答。 :P

答案 1 :(得分:0)

But if i set the constraint nullable to true, the error show
     

一次。我认为我不应该设置这个cosntraint。

可以为空的约束对我来说很好。如果你没有指定它,你肯定会得到错误,因为默认情况下nullable = false。

请尝试启用nullabe:true,然后重新启动Grails。

  

模型链接到mysql表   除了id允许以外的所有属性   空。

实际上,您不需要预先定义的表,但如果您这样做,我认为最好不要在id字段允许空。