繁体   English   中英

在gsp grails中设置字段的值

[英]set value of a field in gsp grails

我有一个相册域课程;

class Album {

    String caption
    String description
    SortedSet pictures

    static hasMany = [pictures:Picture,posts:Post]
}

class Post {

    Album album
    Picture picture
    String caption
    String content

}

在我的gsp中,我试图设置相应相册和图片的值;

<label for="picture">
    <g:message code="post.picture.label" default="Picture" />
</label>
**<span id="picture" aria-labelledby="picture-label">${pictureInstance?.caption?.encodeAsHTML()}</span>**

<label for="album">
    <g:message code="post.album.label" default="Album" />
</label>
**<span id="album" aria-labelledby="album-label">${pictureInstance?.album?.encodeAsHTML()}</span>**

尽管在浏览器中,我在相册和图片标签的前面看到了正确的值,但是当我尝试保存帖子时, 它说属性图片和相册不能为null 我不明白为什么不将这些值写入数据库。

如果我的解决方法不正确,那么任何其他建议都会有很大帮助

谢谢..

Grails具有强大的机制来验证域类中定义的属性。 约束块可用于为在其中传递闭包的属性定义规则。 您可以在其中定义许多规则,例如空白,可为空,最小和最大大小等。 每当在grails中调用save()时,它都会自动调用validate方法,该方法将验证这些约束。

我认为,如果您未在grails中的属性约束内定义任何规则,则案例的问题是默认情况,那么它们将采用默认值,例如您的案例中不能为null。 因此,您收到的消息不能为空。 为此,定义域类中约束块内不同属性的必需规则

静态约束= {

图片可为空:true,空白:true;

相簿可为空:true

//其他属性的规则在这里

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM