Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/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
Regex 使用GXT验证文本字段_Regex_Gwt_Gxt - Fatal编程技术网

Regex 使用GXT验证文本字段

Regex 使用GXT验证文本字段,regex,gwt,gxt,Regex,Gwt,Gxt,我必须用以下正则表达式检查一些文本字段: [\sa-zA-Z.'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+ 它与regex checker一起工作,但与我的GWT/GXT应用程序不工作。我在扩展AbstractValidator的类中使用上述函数 public static native boolean isValidName(String name) /*-{ var pattern = /[\sa-zA-Z.\'-àáâãäåçèéêëìíîïðòóôõöùúû

我必须用以下正则表达式检查一些文本字段:

[\sa-zA-Z.'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+
它与regex checker一起工作,但与我的GWT/GXT应用程序不工作。我在扩展AbstractValidator的类中使用上述函数

public static native boolean isValidName(String name) /*-{
    var pattern =  /[\sa-zA-Z.\'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+/;
    return pattern.test(name);
}-*/;
我使用GXT2和GWT1.6.4。

对GXT2来说没问题

相应的方法是,如果所有其他验证器都已通过,则将调用该方法

为什么不使用(对于gxt3):

com.sencha.gxt.widget.core.client.form.Field.addValidator(验证器验证器)
field.addValidator(新的RegExValidator(“[\sa-zA-Z.\'-ááååèèèèèèèèèèèèèèèèèè232;

有关gxt2,请参见确定

相应的方法是,如果所有其他验证器都已通过,则将调用该方法

为什么不使用(对于gxt3):

com.sencha.gxt.widget.core.client.form.Field.addValidator(验证器验证器)
field.addValidator(新的RegExValidator(“[\sa-zA-Z.\'-ááååèèèèèèèèèèèèèèèèèè232;


请参见为什么要使用本机,而您仍然可以使用
Java
?或者更好的办法是,看看
GXT
是否提供了一些验证工具。像
验证器


相关:

既然您仍然可以使用
Java
,为什么要使用本机呢?或者更好的办法是,看看
GXT
是否提供了一些验证工具。像
验证器


相关:

您是否尝试过在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";
        }
    });
someTextField.setValidator(新验证器(){
@凌驾
公共字符串验证(字段、字符串值){
返回值.matches(“[\\sa-zA-Z.-a-”匹配项“[\\sa-zA-Z.-a-”匹配项“+”)
?null:“不是有效值”;
}
});

您是否尝试过在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";
        }
    });
someTextField.setValidator(新验证器(){
@凌驾
公共字符串验证(字段、字符串值){
返回值.matches(“[\\sa-zA-Z.-a-”匹配项“[\\sa-zA-Z.-a-”匹配项“+”)
?null:“不是有效值”;
}
});
Sencha GXT4:

枚举类型


验证程序类


Sencha GXT4:

枚举类型


验证程序类



@MacFly你有没有查看我发布的链接?@MacFly我强烈建议你在问题中添加GWT和GXT版本。。。然而,在这方面我帮不了你,我从2.1开始就知道GWT。也许你应该考虑更新GWT?@ McField,你检查了我发布的链接吗?@ McFLASH我强烈建议你把GWT和GXT版本添加到你的问题…然而,在这方面我帮不了你,我从2.1开始就知道GWT。也许你应该考虑更新GWT?参考文献:
 public enum VType {
    ALPHABET("^[a-zA-Z_]+$", "Alphabet"), ALPHANUMERIC("^[a-zA-Z0-9_]+$",
            "Alphanumeric"), NUMERIC("^[+0-9]+$", "Numeric"), EMAIL("^(\\w+)([-+.][\\w]+)*@(\\w[-\\w]*\\.){1,5}([A-Za-z]){2,4}$","Email");
    String regex;
    String name;

    VType(String regex, String name) {
        this.regex = regex;
        this.name = name;
    }

}
import java.util.ArrayList;
import java.util.List;

import com.google.gwt.editor.client.Editor;
import com.google.gwt.editor.client.EditorError;
import com.sencha.gxt.widget.core.client.form.Validator;
import com.sencha.gxt.widget.core.client.form.error.DefaultEditorError;

public class VTypeValidator implements Validator<String> {

    private String message;  
    private final VType type;

    public VTypeValidator(VType type,String message){
      this.type = type;
      this.message=message;
    }



  @Override
  public List<EditorError> validate(Editor<String> editor, String value) {
      List<EditorError> res = null;
      if (!value.matches(type.regex)) {
          List<EditorError> errors = new ArrayList<EditorError>();
          errors.add(new DefaultEditorError(editor, message,""));
          return errors;
        }
      return res;
  }
}
   field.addValidator(new VTypeValidator(VType.EMAIL,"Invalid email"));