圣杯输入错误:属性必须是有效日期



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

<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

我不知道如何解决这个问题。使用圣杯日期时间选择器标签似乎有效,但它很丑陋

唯一的方法是使用 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

最新更新