日期:类[class grailsappl1]的属性[Date]不能为空

日期:类[class grailsappl1]的属性[Date]不能为空,grails,groovy,datepicker,Grails,Groovy,Datepicker,我有一个表格,其中我正在为特定的固定装置和场地名称创建日期,我无法创建日期。我曾尝试在fixture类中将date设置为nullable:true,以测试场地创建是否有效,结果显示的是场地,但日期不可用 这是我的域名类 package cricketfixturesgrailsapp class Fixture { Date date String venue // hasMany = [scores:Scores] static hasMany = [

我有一个表格,其中我正在为特定的固定装置和场地名称创建日期,我无法创建日期。我曾尝试在fixture类中将date设置为nullable:true,以测试场地创建是否有效,结果显示的是场地,但日期不可用

这是我的域名类

package cricketfixturesgrailsapp


class Fixture {

   Date date 
   String venue

   // hasMany  = [scores:Scores]

     static hasMany = [team:Team]

    static constraints = {
      date nullable: true
    }
}
这是我的FixtureController类

package cricketfixturesgrailsapp

class FixtureController {

 //def index() { }
    def fixtureService
    //def scaffold=true

    def add() {
        if (request.method == 'GET') {
            [fixtureBean: new Fixture()]
        }
        else {
            def fixture = fixtureService.createFixture(params.fixture?.date, params.fixture?.venue)
            if (!fixture.hasErrors()) {
                redirect action: 'show', id: fixture.id
                return
            }

            [fixtureBean: fixture]
        }
    }

  def show() {
        def fixture = Fixture.get(params.id)
        if (fixture) {
            [fixtureBean: fixture]
        }

    }
            def find() {
        if (request.method == 'POST') {
            def fixtures = Fixture.findAllByDate(params.date)
            if (fixtures) {
                if (fixtures.size() > 1) {
                    render view: 'selection', model: [fixtures: fixtures]
                }
                else {
                    redirect action: 'show', id: fixtures[0].id
                }
            }
            else {
                [message: 'fixtures.not.found']
            }
        }
    }
}
和add.gsp文件

<%@ page contentType="text/html;charset=UTF-8" %>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Add fixture</title>
    </head>

    <body id = "add">
      <h2><g:if test="${!fixtureBean.id}">New </g:if>Fixture:</h2>

      <g:form action="${fixtureBean.id ? 'edit' : 'add'}" id="${fixtureBean?.id}">
            <table>
                <tr>
                    <th>
                        Date: <span class="errors"><g:fieldError bean="${fixtureBean}" field="date" /></span>
                        <br/>
                        <g:datePicker name="fixtureBean.date" value="${ fixtureBean.date}" precision="day"></g:datePicker>
                    </th>
                </tr>
                <tr>
                    <th>
                        <g:render template="/common/formField"
                                  model="[name:'fixture', bean:fixtureBean, field:'venue', label:'Venue']" />
                    </th>
                </tr>

                <tr>
                    <td>
                        <p><input type="submit" value="${ fixtureBean.id ? 'Update' : 'Add'} Fixture"/></p>
                    </td>
                </tr>
            </table>
        </g:form>
    </body>
</html>

    </body>
</html>

您的名称不匹配

如果您有:

<g:datePicker name="fixtureBean.date"/>
而不是

fixtureService.createFixture(params.fixture?.date
fixtureService.createFixture(params.fixtureBean?.date
fixtureService.createFixture(params.fixture?.date