【问题标题】:Grails input error: property must be a valid dateGrails 输入错误:属性必须是有效日期
【发布时间】:2014-02-08 21:02:20
【问题描述】:

我有一个使用自定义日期和时间选择器脚本的文本输入。

<div class="input-group date datetime" data-start-view="4" data-date-format="dd MM yyyy" data-min-view="2" data-link-field="dtp_input1">
    <input name="dateOfBirth" class="form-control" size="16" type="text" value="${userInstance?.dateOfBirth}"/>
    <span class="input-group-addon btn btn-primary"><span class="glyphicon glyphicon-th"></span></span>
</div>

它给了我这个错误 Property org.springframework.context.support.DefaultMessageSourceResolvable: codes [rms.User.dateOfBirth,dateOfBirth]; arguments []; default message [dateOfBirth] must be a valid Date

我不知道如何解决这个问题。使用 grails dateTime 选择器标签似乎可以工作,但它很难看

【问题讨论】:

  • 你在行动参数中得到了什么?

标签: grails


【解决方案1】:

唯一的方法是使用SimpleDateFormat。我经常将它用于内部带有 JS 日历的表单:

class YourController {

  static SimpleDateFormat sdf = new SimpleDateFormat( 'dd.MM.yyyy' )

  def index(){ 
    Date dateOfBirth
    try{ 
      if( params.dateOfBirth ) dateOfBirth = sdf.parse( params.dateOfBirth )
    }catch( Exception ignoreMe ){}
    // do something useful
  }

更新:

当然,您必须使用正确的日期格式。我在示例中给出的dd.MM.yyyy 对应于08.02.2014。对于像February 08 2014 这样的字符串,你需要像MMM dd yyyy 这样的字符串。

更多信息请见http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

【讨论】:

  • 我试过了,但它给出了一个无法解析的错误。顺便说一句,我的弦是这样的。一月 dd yyyy。它给出了 12 个月的完整单词
猜你喜欢
  • 1970-01-01
  • 2012-03-07
  • 1970-01-01
  • 2010-11-23
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-31
相关资源
最近更新 更多