Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript sap.m.input sap ui5中的自定义输入类型_Javascript_Sapui5 - Fatal编程技术网

Javascript sap.m.input sap ui5中的自定义输入类型

Javascript sap.m.input sap ui5中的自定义输入类型,javascript,sapui5,Javascript,Sapui5,我有一个输入字段(sap.m.input),我需要它的类型为Float。 我尝试使用sap.ui.model.type.Float(),但没有成功 如何为输入字段使用自定义类型。我没有任何绑定,只需要将输入字段的类型设置为float。 举个例子会很有帮助 提前感谢,, Deepak您可以这样创建自定义类型: <script type="text/javascript"> (function(){ "use strict"; jQuery.sap

我有一个输入字段(sap.m.input),我需要它的类型为Float。 我尝试使用sap.ui.model.type.Float(),但没有成功

如何为输入字段使用自定义类型。我没有任何绑定,只需要将输入字段的类型设置为float。 举个例子会很有帮助

提前感谢,,
Deepak

您可以这样创建自定义类型:

<script type="text/javascript">
    (function(){
        "use strict";
        jQuery.sap.declare('Float');
        jQuery.sap.require('sap.ui.base.DataType');
        Float = sap.ui.base.DataType.createType( "Float", 
            { isValid : 
                function(sValue) {
                    return ((sValue % 1) != 0);
                }
            }, sap.ui.base.DataType.getType('number') 
        );
    })();
</script>

(功能(){
“严格使用”;
jQuery.sap.declare('Float');
jQuery.sap.require('sap.ui.base.DataType');
Float=sap.ui.base.DataType.createType(“Float”,
{isValid:
函数(S值){
返回((值%1)!=0);
}
},sap.ui.base.DataType.getType('number'))
);
})();

现在您可以将类型用作Float

您可以这样创建自定义类型:

<script type="text/javascript">
    (function(){
        "use strict";
        jQuery.sap.declare('Float');
        jQuery.sap.require('sap.ui.base.DataType');
        Float = sap.ui.base.DataType.createType( "Float", 
            { isValid : 
                function(sValue) {
                    return ((sValue % 1) != 0);
                }
            }, sap.ui.base.DataType.getType('number') 
        );
    })();
</script>

(功能(){
“严格使用”;
jQuery.sap.declare('Float');
jQuery.sap.require('sap.ui.base.DataType');
Float=sap.ui.base.DataType.createType(“Float”,
{isValid:
函数(S值){
返回((值%1)!=0);
}
},sap.ui.base.DataType.getType('number'))
);
})();

现在您可以使用type作为Float

我也有同样的问题,使用new
sap.ui.model.type.Float
似乎可以将OData服务(Edm.Decimal)中的字符串转换为实际的浮点数。这将有助于正确显示数字,但如果您试图写回更改后的值(OData双向绑定),则不会这样做

因此,我实现了自己的类型,如下所示:

jQuery.sap.declare("my.package.MyFloat");
sap.ui.model.SimpleType.extend("my.package.MyFloat", {
    formatValue : function(oValue) {
        return oValue;
    },

    parseValue : function(oValue) {
        return oValue;
    },

    validateValue : function(oValue) {
        if (oValue != null && oValue != "" && oValue != undefined) {
            if (isNaN(Number(oValue))) {
                var messageString = sap.ui.getCore().getModel("i18n").getResourceBundle().getText("KEY_TO_ERROR_MESSAGE");
                throw new sap.ui.model.ValidateException(messageString);
            }
        }
    }
})
我在这里检测到一个SAP示例: 在文件中搜索PLZ

目前,我正在寻找一种方法,在构建
MyFloat
的过程中添加一些参数

您可以通过以下方式使用此类型:

new sap.m.Input({
     value: {
         path : "BindingPathToAttribute",
         type : new my.package.MyFloat({})
     }
}),

我也有同样的问题,使用new
sap.ui.model.type.Float
似乎会将OData服务(Edm.Decimal)中的字符串转换为实际的浮点数。这将有助于正确显示数字,但如果您试图写回更改后的值(OData双向绑定),则不会这样做

因此,我实现了自己的类型,如下所示:

jQuery.sap.declare("my.package.MyFloat");
sap.ui.model.SimpleType.extend("my.package.MyFloat", {
    formatValue : function(oValue) {
        return oValue;
    },

    parseValue : function(oValue) {
        return oValue;
    },

    validateValue : function(oValue) {
        if (oValue != null && oValue != "" && oValue != undefined) {
            if (isNaN(Number(oValue))) {
                var messageString = sap.ui.getCore().getModel("i18n").getResourceBundle().getText("KEY_TO_ERROR_MESSAGE");
                throw new sap.ui.model.ValidateException(messageString);
            }
        }
    }
})
我在这里检测到一个SAP示例: 在文件中搜索PLZ

目前,我正在寻找一种方法,在构建
MyFloat
的过程中添加一些参数

您可以通过以下方式使用此类型:

new sap.m.Input({
     value: {
         path : "BindingPathToAttribute",
         type : new my.package.MyFloat({})
     }
}),

嗨,奎师那,谢谢你的片段。这是否也确保键盘仅显示数字和“.”/“,”呢?谢谢你的片段。这是否也确保键盘仅显示数字和“.”/“,”呢?干杯