0

我有一个如下所示的数字字段

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

当用户插入一个像 3832 这样的值时,它将被正确保存,但是当用户在像 0123 这样的序列的开头设置一个值为 0 的值时,将删除零,只保存 123。

就我而言,我想存储一些开头值为 0 的电话号码。

PS。模型中的phoneNumber是字符串,所以会保存为字符串

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

我该如何解决这个问题?

提前致谢。

4

2 回答 2

2

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

于 2012-10-19T04:44:42.503 回答
1

我已经解决了你的问题。像这样使用你的模型。也使用textfield而不是numberfield

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

我的模型.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}/}

                ]
            }
        });

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

于 2012-10-18T07:43:15.670 回答