0

GRAILSを使用して送信ボタンにアイコンを取得しようとしています。ボタンを表示することを解決しましたが、フォームがエラーをスローすることを犠牲にしました。タグを表示するためにボタンタグを作成しましたが、フォームで次のエラーがスローされます。

--> sessionFactory.currentSession.flush()  -->AbstractInstanceController.groovy
        Cannot insert NULL into ("APP"."INSTANCE"."STATUS")
--> def instance = super.save(specificInstance, 'specificInstance.label') -->specificInstanceController.groovy

そして gsp のボタン:

<button type="submit" name="_action_save" class="btn" value="Save">
    <i class="icon-folder-open"></i> Save
</button>

アイコンを追加する方法を知っている人はいますか:

<input type="submit" ...>

または、スローされた grails エラーを修正する方法

<button>

方法?

アップデート

<g:form name="form">
    <g:hiddenField name="status" />
    <g:hiddenField name="locationID" value="${instance?.location?.id}" />

<div class="formButtons">
    <g:actionSubmit value="Save" name="save_button" class="button cancel" action="save" data-icon="check" />
    <input type="submit" name="_action_save" value="Save" class="button cancel" action="save"/>
</div>

<g:render template="form"/> 
... "form" has many, many fields in the form of:
    <label for="section">Section</label>
    <g:textField name="section" class="textfield required" value="${instance?.section}"/>

コントローラーのロジックは、ほとんど変更されていないデフォルトの save() スキャフォールドです。

@Secured(['IS_AUTHENTICATED_FULLY'])
def save = {
    def instance = new Instance(params)
    instance.setDescription("instancePE")
    if(instance.instanceEnd == null){
        flash.message = "${message(code: 'instance.time.null.message', args: [instance.mode.instanceHours])}"
        render(view: "create", model: [instance: instance])
        return
    }

    if (!validStartEnd(instance)) {
        flash.message = "${message(code: 'instance.invalidRange.message', args: [instance.mode.instanceHours])}"
        render(view: "create", model: [instance: instance])
        return
    }

    instance.activeInstanceArchive =
        g.render(template: "/templates/showInstances",model:
                [loc: instance.instLocation])

        def inst = super.save(instance, 'instance.label')
        render(view: "create", model: [instance: inst])
}

ドメイン オブジェクトは大きいですが、特に異常はありません。格納するオブジェクトをリストするだけです。

4

0 に答える 0