Extjs 使用Sencha GXT时设置maxLength
我使用Sencha GXT 3.1.1将其与GWT一起使用。现在我应该使用HTML的Extjs 使用Sencha GXT时设置maxLength,extjs,gwt,gxt,Extjs,Gwt,Gxt,我使用Sencha GXT 3.1.1将其与GWT一起使用。现在我应该使用HTML的maxLength属性来限制文本字段的大小 首先,我没有发现在这个类中直接使用setMaxLength()方法实现这一点的可能性 有人能帮我在Sencha GXT类中如何使用maxlength属性吗?我认为解决这个问题的最好方法是使用验证器 myTextField.addValidator(new MaxLengthValidator(3)); 此验证器将检查TextField的值是否超过三个字母。如果它有三个
maxLength
属性来限制文本字段的大小
首先,我没有发现在这个类中直接使用setMaxLength()
方法实现这一点的可能性
有人能帮我在Sencha GXT类中如何使用
maxlength
属性吗?我认为解决这个问题的最好方法是使用验证器
myTextField.addValidator(new MaxLengthValidator(3));
此验证器将检查TextField的值是否超过三个字母。如果它有三个以上的字母,它将显示一个错误。有一种方法,但有点麻烦:
textField.getCell()
.getAppearance()
.getInputElement(textField.getElement())
.setAttribute("maxLength", "3");
您还可以执行以下操作:
InputElement inputElement = textField.getElement()
.select("input")
.getItem(0)
.cast();
inputElement.setMaxLength(valueMaxLength);
谢谢你的回答。我认为验证器是个好主意。但这并不能阻止用户输入更长的值,这是正确的。但它确保较长的值将被识别为错误。Guilliaume发布的解决方案也是解决您的请求的一种方法。但请记住,您处理的是html元素,如果sencha在外观上发生变化(使用新版本),您可能会遇到麻烦。您还可以在字段中添加KeyDownHandler,如果输入的字母超过三个,则取消keydown事件。谢谢,我将尝试这个,直到我找到时间回到这个项目。