Grails:属性空错误
Posted
技术标签:
【中文标题】Grails:属性空错误【英文标题】:Grails: Property Null error 【发布时间】:2011-07-17 17:10:33 【问题描述】:我有一个名为 Modulo 的域,它有一些属性和一个控制器,它有一个从模型创建对象并保存它的方法,当执行保存 shell 时显示此错误:
La propiedad [0] de la clase [1] no puede ser nulo但如果我将约束为空设置为真,错误再次显示。我认为我不应该设置这个约束。
模型链接到一个mysql表,除了id之外的所有属性都允许为空。
我认为我在这里没有做错什么。有什么建议吗??
域:模
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
谢谢。何塞
【问题讨论】:
何塞,默认情况下可空约束设置为 false,我看到您在问题中对约束进行了评论,真的是这样吗?您是否将 url 的可空约束设置为 true?因为如果未设置,那么保存时会出现该错误是有道理的。 好的。我执行 grails clean 但错误继续。 @Maricel 我将 nullable 设置为 true 但错误继续 【参考方案1】:最后我解决了这个错误。这不保存,因为约束写错了。
错误代码
static constraint =
url(nullable:true)
好代码
static constraints =
url(nullable:true)
感谢大家的回答。 :P
【讨论】:
【参考方案2】:But if i set the constraint nullable to true, the error show
再次。我认为我不应该设置这个约束。
可空约束对我来说很好用。如果你不指定它,你肯定会得到错误,因为默认情况下 nullable=false。
请尝试开启nullabe:true
,然后重启Grails。
模型链接到一个mysql表 除了 id 之外的所有属性都允许 空。
其实你并不需要一个预定义的表,但如果你需要的话,我认为最好不要在 id 字段中允许 null。
【讨论】:
Hello @HoàngLong 我将约束 nullabe 设置为 true 并重新启动服务器,但错误继续显示。以上是关于Grails:属性空错误的主要内容,如果未能解决你的问题,请参考以下文章
类 [1] 的 Grails 错误属性 [0] 不能为空 - 在基本 grails 应用程序上
Grails 中的 Liquibase:“空结果集,预期为一行”