在grails应用程序中验证日期

问题描述:

我的域类有一个日期字段。我是从用户的格式获取数据“MM/DD/YYYY”在grails应用程序中验证日期

所以在我的控制器我这样做save()方法:

def save1() { 
    Date eventDate = new SimpleDateFormat("MM/dd/yyyy").parse(params.eventDate) 
    def event = eventService.addEvent(eventDate, "test") 
    if (event.hasErrors()) 
     render(view: "create", model: [eventInstace: event]) 
    else { 
     flash.message = "${message(code: 'default.created.message', args: ['Event', event.id])}" 
     redirect(action: "list") 
    } 
} 

因此,如果用户不输入任何形式的日期字段或进入一个无效的日期,我的代码是阅读这一行:

Date eventDate = new SimpleDateFormat("MM/dd/yyyy").parse(params.eventDate) 

我如何克服这个问题?

params.date("eventDate", "MM/dd/yyyy") 

将返回null而不是抛出异常。