使用数字字段时,将在序列开头删除0值

时间:2012-10-17 11:56:40

标签: sencha-touch-2 phone-number

我有一个如下的数字字段

               {
                    xtype: 'numberfield',
                    name: 'phoneNumber',
                    label: 'Phonenumber',
                    required: false
                }

当用户插入类似3832的值时,它将被保存为正确但当用户在0123之类的序列开始时设置值为0时,将删除零并且仅保存123.

在我的情况下,我想存储一些在开头有0值的phonenumber。

PS。模型中的phoneNumber是一个字符串,因此它将保存为字符串

{ name: 'phoneNumber', type: 'string' }

我该如何解决这个问题?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您应该使用textfield并在控制器中检查Ext.isNumeric(phoneNumberValue)

答案 1 :(得分:1)

我已经解决了你的问题。像这样使用你的模型。也可以使用 textfield 代替数字字段

             {
                xtype: 'textfield',
                name: 'phoneNumber',
                label: 'Phonenumber',
                required: false
            }

<强> mymodel.js

        Ext.define("Stackoverflow.model.mymodel", {
            extend: "Ext.data.Model",
            config: {

                fields: [
                    { name: 'phoneNumber', type: 'string' },

                ],
                validations: [

                    { type: 'presence', field: 'phoneNumber', message: 'Enter a Phone number.' },
                    { type: 'format', field: 'phoneNumber', matcher: /[0-9]{1,20}/}

                ]
            }
        });

然后在控制器内验证这一点。我希望你有代码进行模型验证。(如果没有发表评论)