2017-02-10 203 views
-4

我尝试解析在dd.mm.yyyy格式的日期:Globalize.parseDate(value, "dd.MM.yyyy", "en");但全球化的崩溃与错误:如何解析dd.mm.yyyy格式的日期?

Uncaught Error: E_INVALID_PAR_TYPE: Invalid options parameter (dd.mm.yyyy). Plain Object expected.
at createError (globalize.js:105)
at validate (globalize.js:182)
at validateParameterType (globalize.js:257)
at validateParameterTypePlainObject (globalize.js:295)
at Function.Globalize.dateParser.Globalize.dateParser (date.js:1853)
at Function.Globalize.parseDate.Globalize.parseDate (date.js:1908)
at $.validator.methods.date (Index:1891)
at $.validator.check (jquery.validate.js:759)
at $.validator.checkForm (jquery.validate.js:450)

链接脚本文件:

<script src="/Scripts/cldr.js"></script> 
<script src="/Scripts/globalize.js"></script> 
<script src="/Scripts/globalize/message.js"></script> 
<script src="/Scripts/globalize/number.js"></script> 
<script src="/Scripts/globalize/date.js"></script> 

我怎样才能解决这个问题?

+1

您是否试过阅读文档?是什么让你认为这些参数是有效的'parseDate'参数? – JJJ

+0

我们能否看到你的代码?我希望能提供帮助,但这非常含糊。 – FreedomPride

+0

@JJJ,是的,我读了[这里](https://github.com/globalizejs/globalize#date-module)。但它很短暂,我从中得不到什么。所以,我找到了一个[示例](http://stackoverflow.com/questions/6906725/unobtrusive-validation-in-chrome-wont-validate-with-dd-mm-yyyy)。 –

回答

2

您需要传递一个值然后一个选项对象。

Globalize.locale('en'); 
Globalize.parseDate(value, { 
    skeleton: 'dd.MM.yyyy' 
}); 

您可以在此找到here的文档。

+1

谢谢,它完美的作品!虽然,我得到了一个新的错误,我认为它不会加载所有的cldr js文件,所以我会尝试加载这些并再次检查。但目前的错误消失了。 –

+1

请确保阅读文档,因为他们有这些东西的大部分。我以前从未使用过它,并花了我几秒钟才发现它无法正常工作的原因。 –

+0

问题不在于文档中,我非常不熟悉JS的问题,而是以此为导向的文档。 –