Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
Gwt GXT 3喷丝头现场验证_Gwt_Extjs_Gxt - Fatal编程技术网

Gwt GXT 3喷丝头现场验证

Gwt GXT 3喷丝头现场验证,gwt,extjs,gxt,Gwt,Extjs,Gxt,我想验证用户不能通过在微调器的文本框中键入来手动更改微调器值 例如,我从服务器获取的字段sales multiple=x未修复。 并显示一个限制为like bellow的微调器字段 spinner.setMinValue=x spinner.setIncrement=x spinner.setValue=x 因此,用户强制选择一个与x成倍数的值。e、 g.如果x=3,用户必须输入3,6,9。。。等等 所以这里我的问题是,如果我在微调器字段文本框中键入一个2。GXT小部件接受该值 可行的解决方案:

我想验证用户不能通过在微调器的文本框中键入来手动更改微调器值

例如,我从服务器获取的字段sales multiple=x未修复。 并显示一个限制为like bellow的微调器字段

spinner.setMinValue=x spinner.setIncrement=x spinner.setValue=x

因此,用户强制选择一个与x成倍数的值。e、 g.如果x=3,用户必须输入3,6,9。。。等等

所以这里我的问题是,如果我在微调器字段文本框中键入一个2。GXT小部件接受该值

可行的解决方案:

  • spinnerfield是否有我忘记设置的预定义属性

  • 是否有任何预定义的验证程序

  • 我可以将微调器字段的文本框设置为css只读,这样用户就不能关注文本框,但仍然可以更改值

  • 如果以上都没有,如何手动实现

  • 我在不同的类中搜索了一些,但我没有找到一个精确的方法来设置您想要的内容

  • 不知道一个,即使有一个,验证器也不会更改输入字段中的值,但它可能足以满足您的需要

  • 您可以通过在spinnerfield(testSpinner.setEditable(false);)上调用setEditable(布尔)来禁用文本输入

  • 也许您可以搜索IntegerPropertyEditor,我还没有尝试过,但只要新微调器是这样的:

  • SpinnerField testSpinner=new SpinnerField(new NumberPropertyEditor.IntegerPropertyEditor());
    
    您可以看到IntegerPropertyEditor还有另一个构造函数,它接受一个“NumberFormat”参数,但没有NumberFormat()构造函数,因此我不确定如何创建自己的构造函数,但这可能是一个想法(将输入中的数字格式化为增量的倍数)

    最后一个选择是Sencha忘记了这种可能性,你应该在论坛上报告这是一个“bug”

    希望有点帮助,祝你好运:)

    SpinnerField<Integer> testSpinner = new SpinnerField<Integer>(new NumberPropertyEditor.IntegerPropertyEditor());