Validation 如何根据动态最小日期验证sap.m.DatePicker选择?

Validation 如何根据动态最小日期验证sap.m.DatePicker选择?,validation,sapui5,Validation,Sapui5,验证sap.m.DatePicker输入的正常方法如下所示: new sap.m.DatePicker({ value : { path : "someModel>/SomeDate", type : new sap.ui.model.type.Date({}, { minimum : new Date() }) } }) new sap.m.DatePicker({ value : {

验证sap.m.DatePicker输入的正常方法如下所示:

new sap.m.DatePicker({
    value : {
        path : "someModel>/SomeDate",
        type :  new sap.ui.model.type.Date({}, {
            minimum : new Date()
        })
    }
})
new sap.m.DatePicker({
    value : {
        path : "someModel>/SomeDate",
        type :  new sap.ui.model.type.Date({}, {
            minimum : "{someModel>/MinimumDate}"
        })
    }
})
new sap.m.DatePicker({
    value : {
        path : "model>/Date",
        type : new my.CallbackDateType({}, {
            minimum : new Date(),
            callback : [oController.getMinimumDate, oController]
        })
    }
})
我有一个问题,“最短”日期将取决于不同的其他参数。 类型中的绑定似乎不起作用(或者我做错了什么?)

我很高兴有这样一个功能:

new sap.m.DatePicker({
    value : {
        path : "someModel>/SomeDate",
        type :  new sap.ui.model.type.Date({}, {
            minimum : new Date()
        })
    }
})
new sap.m.DatePicker({
    value : {
        path : "someModel>/SomeDate",
        type :  new sap.ui.model.type.Date({}, {
            minimum : "{someModel>/MinimumDate}"
        })
    }
})
new sap.m.DatePicker({
    value : {
        path : "model>/Date",
        type : new my.CallbackDateType({}, {
            minimum : new Date(),
            callback : [oController.getMinimumDate, oController]
        })
    }
})
有人知道如何解决这个问题吗?
我宁愿避免使用id来获取控制器中的控件。

我构建了以下解决方案。也许有更好的办法

数据类型的定义:

jQuery.sap.declare("my.CallbackDateType");

sap.ui.model.type.Date.extend("my.CallbackDateType", {
    constructor : function () {
        sap.ui.model.type.Date.apply(this, arguments);
        this.sName = "CallbackDateType";
    },

    validateValue : function(oValue) {
        var that = this;
        if (that.oConstraints.callback!==undefined) {
            that.oConstraints.callback[0].call(that.oConstraints.callback[1], that);
        }
        return sap.ui.model.type.Date.prototype.validateValue.call(this, oValue);
    }
});
这样使用:

new sap.m.DatePicker({
    value : {
        path : "someModel>/SomeDate",
        type :  new sap.ui.model.type.Date({}, {
            minimum : new Date()
        })
    }
})
new sap.m.DatePicker({
    value : {
        path : "someModel>/SomeDate",
        type :  new sap.ui.model.type.Date({}, {
            minimum : "{someModel>/MinimumDate}"
        })
    }
})
new sap.m.DatePicker({
    value : {
        path : "model>/Date",
        type : new my.CallbackDateType({}, {
            minimum : new Date(),
            callback : [oController.getMinimumDate, oController]
        })
    }
})