1

現在、extjs numberfield では、数字以外の「-」ハイフンをフィールドに使用できます。それを入力から制限する方法は?カスタムvtype検証を行うと、それを送信した後にのみチェックされます。

4

5 に答える 5

1

autoStripChars を使用し、initComponent で許可されているハイフンを削除します。以下のコードを修正しました。

autoStripChars: true,
initComponent: function() {
    var me = this,
        allowed;

    me.callParent();

    me.setMinValue(me.minValue);
    me.setMaxValue(me.maxValue);

    // Build regexes for masking and stripping based on the configured options
    if (me.disableKeyFilter !== true) {
        allowed = me.baseChars + '';
        if (me.allowDecimals) {
            allowed += me.decimalSeparator;
        }
/* removed code
    if (me.minValue < 0) {
            allowed += '-';
        } 
*/
        allowed = Ext.String.escapeRegex(allowed);
        me.maskRe = new RegExp('[' + allowed + ']');
        if (me.autoStripChars) {
            me.stripCharsRe = new RegExp('[^' + allowed + ']', 'gi');
        }
    }
}
于 2012-06-01T12:36:02.823 に答える
0

maskRe構成で通常のテキストフィールドを使用することもできます。

maskRe: /[0-9]/
于 2012-06-01T23:08:55.477 に答える
0

ホワイトリストである@lagnatの返信と同様に、stripCharsRe構成を使用して文字をブラックリストに登録できます。

stripCharsRe: /-/

負の値を制限したい場合。

minValue: 0
于 2014-01-17T02:06:01.247 に答える