如何将多字段日期绑定到 grails 4 日期?
how to bind multi field date to grails 4 date?
我有一个简单的图书域。
class Book {
String title
Date published
static constraints = {
}
}
我已经创建了一个简单的书籍创作表格
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title></title>
</head>
<body>
<g:form action="save">
Title: <g:textField name="title"></g:textField>
<br>
Published:
<input type="text" name="startDateTime_dayMonthYear" id="startDate" value="01/06/2022" maxLength="10" size="8" pattern="^\d{1,2}/\d{1,2}/\d{4}$" placeholder="mm/dd/yyyy" />
<input type="text" name="startDateTime_hourMin" id="startDateTime_hourMin" value="8:00" maxLength="5" size="3.5" pattern="^([1-9]|[1][0-2]):[0-5][0-9]$" autocomplete="off" placeholder="hh:ss" />
<select name="startDateTime_meridian" id="startDateTime_meridian" >
<option value="AM" selected="selected" >AM</option>
<option value="PM" >PM</option>
</select>
<select name="startDateTime_timeZone" id="startDateTime_timeZone" >
<option value="US/Hawaii" >(GMT-10:00) US/Hawaii</option>
<option value="US/Alaska" >(GMT-09:00) US/Alaska</option>
<option value="US/Pacific" >(GMT-08:00) US/Pacific</option>
<option value="US/Arizona" >(GMT-07:00) US/Arizona</option>
<option value="US/Mountain" selected="selected" >(GMT-07:00) US/Mountain</option>
<option value="US/Central" >(GMT-06:00) US/Central</option>
<option value="US/Eastern" >(GMT-05:00) US/Eastern</option>
<option value="US/East-Indiana" >(GMT-05:00) US/East-Indiana</option>
</select>
<br>
<g:submitButton name="Submit"></g:submitButton>
</g:form>
</body>
</html>
创建和保存操作如下
def create(){
}
def save(){
def book = new Book()
bindData(book, params)
book.save()
redirect(actionName: "index")
}
供参考,表格如下所示
有没有办法将发布日期 属性 与这个多字段日期结构绑定?我知道在 grails 4 中从单个文本字段绑定日期的方法,但是对于像这样的多个字段,我找不到关于如何做的资源。
我正在使用 grails 4.0.10。我感谢任何帮助。谢谢!
Is there a way to bind the published date property with this multi
field date structure?
如果您的意思是使用 Grails 中内置的数据绑定器,我认为答案是否定的。我认为我们的活页夹不支持拉入时区。 https://github.com/grails/grails-core/blob/bc9dd3402ac6a78b0b30d4b9333cbc55ff50029d/grails-web-common/src/main/groovy/org/grails/web/binding/StructuredDateEditor.java 处的 StructuredEditor
知道年、月、日、小时和分钟。
我有一个简单的图书域。
class Book {
String title
Date published
static constraints = {
}
}
我已经创建了一个简单的书籍创作表格
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title></title>
</head>
<body>
<g:form action="save">
Title: <g:textField name="title"></g:textField>
<br>
Published:
<input type="text" name="startDateTime_dayMonthYear" id="startDate" value="01/06/2022" maxLength="10" size="8" pattern="^\d{1,2}/\d{1,2}/\d{4}$" placeholder="mm/dd/yyyy" />
<input type="text" name="startDateTime_hourMin" id="startDateTime_hourMin" value="8:00" maxLength="5" size="3.5" pattern="^([1-9]|[1][0-2]):[0-5][0-9]$" autocomplete="off" placeholder="hh:ss" />
<select name="startDateTime_meridian" id="startDateTime_meridian" >
<option value="AM" selected="selected" >AM</option>
<option value="PM" >PM</option>
</select>
<select name="startDateTime_timeZone" id="startDateTime_timeZone" >
<option value="US/Hawaii" >(GMT-10:00) US/Hawaii</option>
<option value="US/Alaska" >(GMT-09:00) US/Alaska</option>
<option value="US/Pacific" >(GMT-08:00) US/Pacific</option>
<option value="US/Arizona" >(GMT-07:00) US/Arizona</option>
<option value="US/Mountain" selected="selected" >(GMT-07:00) US/Mountain</option>
<option value="US/Central" >(GMT-06:00) US/Central</option>
<option value="US/Eastern" >(GMT-05:00) US/Eastern</option>
<option value="US/East-Indiana" >(GMT-05:00) US/East-Indiana</option>
</select>
<br>
<g:submitButton name="Submit"></g:submitButton>
</g:form>
</body>
</html>
创建和保存操作如下
def create(){
}
def save(){
def book = new Book()
bindData(book, params)
book.save()
redirect(actionName: "index")
}
供参考,表格如下所示
有没有办法将发布日期 属性 与这个多字段日期结构绑定?我知道在 grails 4 中从单个文本字段绑定日期的方法,但是对于像这样的多个字段,我找不到关于如何做的资源。
我正在使用 grails 4.0.10。我感谢任何帮助。谢谢!
Is there a way to bind the published date property with this multi field date structure?
如果您的意思是使用 Grails 中内置的数据绑定器,我认为答案是否定的。我认为我们的活页夹不支持拉入时区。 https://github.com/grails/grails-core/blob/bc9dd3402ac6a78b0b30d4b9333cbc55ff50029d/grails-web-common/src/main/groovy/org/grails/web/binding/StructuredDateEditor.java 处的 StructuredEditor
知道年、月、日、小时和分钟。