我想在SmartGWT的FloatItem上应用格式化程序。如果输入“,”,则FloatItem应该无法通过验证。
FloatItem floatItem = new FloatItem("name", "title");
floatItem.setFormat("##0.###");
此FloatItem仍会自动删除“,”(如果已输入)。换句话说,在此字段中不允许使用千位分隔符。添加
floatItem.setType(FieldType.LOCALEFLOAT.getValue());
对FloatItem的会在本地为我工作,但这并不适合所有人。有没有办法将数字格式正确地应用于FloatItem?
答案 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即可为您提供所需的验证。