我必须用下面的正则表达式检查一些textField:
[\sa-zA-Z.'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+它适用于正则表达式检查器,但不适用于我的GWT/GXT应用程序。我在一个扩展AbstractValidator的类中使用上面的函数。
public static native boolean isValidName(String name) /*-{
var pattern = /[\sa-zA-Z.\'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+/;
return pattern.test(name);
}-*/;我使用GXT2和GWT1.6.4。
发布于 2012-08-01 00:53:06
您是否尝试过在gxt TextField中使用String.macthes来验证值和Validator类
someTextField.setValidator(new Validator() {
@Override
public String validate(Field<?> field, String value) {
return value.matches("[\\sa-zA-Z.'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+")
? null : "not a valid value";
}
});发布于 2012-07-31 18:43:37
对gxt2来说没问题...
对应的方法是setRegex(String regex),如果所有其他验证器都通过了,则会调用该方法
http://www.jarvana.com/jarvana/view/com/extjs/gxt/2.2.0/gxt-2.2.0-javadoc.jar!/com/extjs/gxt/ui/client/widget/form/TextField.html
为什么不使用(对于gxt3):
com.sencha.gxt.widget.core.client.form.Field<T>.addValidator(Validator<T> validator)
field.addValidator(new RegExValidator( "[\sa-zA-Z.\'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]", "some message"));请参阅gxt field api
请参阅gxt RegExValidator
发布于 2012-07-31 18:46:35
当你仍然可以使用Java时,为什么要原生呢?或者更好的是,尝试看看GXT是否为您提供了一些验证工具。像Validators一样
https://stackoverflow.com/questions/11737865
复制相似问题