在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而不是抛出异常。