簡體   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