[英]SAPUI5 Localized Date Validation
有人知道SAPUI5使用哪种日期格式通过sap.m.DatePicker验证本地化日期吗?
示例:在美国使用带displayFormat“ MMMM d,y”的sap.m.DatePicker时,我键入“ 12/31/18”,它将转换为“ 2018年12月31日”,但是当我键入“ 12 / 31/2018”,这似乎不是有效的输入。
我想到了! 如果没有为sap.m.DatePicker提供valueFormat,则输入验证基于displayFormat和特定于给定语言环境的两个后备格式。 在en_US中,后备格式为:
MMddyyyy
MMddyy
年/月/日
MMM d,y
yyyy-MM-dd
yyyyMMdd
MMddyyyy
MMddyy
“ 2018/12/31”与这些格式均不匹配,因此被视为无效。 我创建了此工具,因此您可以检查特定于区域设置的格式并测试一些标准或自定义显示格式: http : //jsbin.com/xalinujafi/edit?output
获取DatePicker如下所示:
var oDateFormat = sap.ui.core.format.DateFormat.getDateInstance({style: 'long'});
var oDate = new sap.m.DatePicker({
width: '19.25rem',
displayFormat: oDateFormat.oFormatOptions.pattern,
change: function(oEvent){
var oSource = oEvent.getSource();
var oFormat = oSource._oDisplayFormat;
if (!oFormat.parse(oSource.getValue())) {
oSource.setValueState("Error");
oSource.setValueStateText("Invalid Input");
} else {
oSource.setValueState("None");
oSource.setValueStateText("");
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.