0

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

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

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

该模型链接到具有除 id 之外的所有属性的 mysql 表允许为空。

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

域:模

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}
        }
    }
}

谢谢。何塞

4

2 回答 2

3

最后我解决了这个错误。这并没有保存,因为约束写错了。

错误代码

 static constraint = {
     url(nullable:true)
 }

好代码

static constraints = {
     url(nullable:true)
 }

谢谢大家的回答。:P

于 2011-03-19T00:08:55.723 回答
0
But if i set the constraint nullable to true, the error show

再次。我认为我不应该设置这个约束。

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

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

该模型链接到具有除 id 之外的所有属性的 mysql 表允许为空。

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

于 2011-03-18T03:18:04.073 回答