0

以下のような数値フィールドがあります

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

ユーザーが 3832 のような値を挿入すると、正しく保存されますが、ユーザーが 0123 のようなシーケンスの先頭に 0 を設定すると、ゼロが削除され、123 のみが保存されます。

私の場合、最初に 0 の値を持ついくつかの電話番号を保存したいと考えています。

PS。モデルの phoneNumber は文字列なので、文字列として保存されます

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

どうすればこれを解決できますか?

前もって感謝します。

4

2 に答える 2

2

textfieldチェックするには、コントローラーで and を使用する必要がありますExt.isNumeric(phoneNumberValue)

于 2012-10-19T04:44:42.503 に答える
1

私はあなたの問題に取り組みました。このようにモデルを使用します。また、 numberfieldの代わりに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}/}

                ]
            }
        });

そして、コントローラー内でこれを検証します。モデル検証用のコードがあることを願っています。(そうでない場合はコメントを残してください)

于 2012-10-18T07:43:15.670 に答える