在SmarGWT FloatItem上格式化

时间:2018-10-02 10:12:23

标签: java smartgwt

我想在SmartGWT的FloatItem上应用格式化程序。如果输入“,”,则FloatItem应该无法通过验证。

FloatItem floatItem = new FloatItem("name", "title");
floatItem.setFormat("##0.###");

此FloatItem仍会自动删除“,”(如果已输入)。换句话说,在此字段中不允许使用千位分隔符。添加

floatItem.setType(FieldType.LOCALEFLOAT.getValue());
对FloatItem的

会在本地为我工作,但这并不适合所有人。有没有办法将数字格式正确地应用于FloatItem?

1 个答案:

答案 0 :(得分:0)

如果您不想应用特定于语言环境的数字格式,则应该可以使用基本浮点类型。例如:

FloatItem floatItem = new FloatItem("name", "title");
floatItem.setType(FieldType.FLOAT.getValue());

此外,您可以应用自己的验证器和keyPressFilter,这将完全阻止用户键入0-9和之外的任何内容。

RegExpValidator validator = new RegExpValidator(); 
validator.setExpression("^[0-9.]*$");
floatItem.setValidators(validator);
floatItem.setKeyPressFilter("^[0-9.]*$");

我认为仅使用正确的FieldType.FLOAT即可为您提供所需的验证。