簡體   English   中英

SAPUI5本地化日期驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM