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
Validation GWT验证错误_Validation_Gwt - Fatal编程技术网

Validation GWT验证错误

Validation GWT验证错误,validation,gwt,Validation,Gwt,我在GWT项目中添加了验证可能性。但它不起作用。每次尝试验证某些内容时,我都会遇到以下错误: Rebinding com.val.client.SampleValidatorFactory.GwtValidator Invoking generator com.google.gwt.validation.rebind.ValidatorGenerator Unexpected error trying to instantiate Generator 'com.google.gwt.valida

我在GWT项目中添加了验证可能性。但它不起作用。每次尝试验证某些内容时,我都会遇到以下错误:

Rebinding com.val.client.SampleValidatorFactory.GwtValidator
Invoking generator com.google.gwt.validation.rebind.ValidatorGenerator
Unexpected error trying to instantiate Generator 'com.google.gwt.validation.rebind.ValidatorGenerator'
MyEntity.java

package com.val.entity;
public class Pravform implements Serializable {
  @Size(min = 4)
  private String pfName;
  ...
package com.val.client;    
import javax.validation.Validator;
import com.google.gwt.core.client.GWT;
import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
import com.google.gwt.validation.client.GwtValidation;
import com.google.gwt.validation.client.impl.AbstractGwtValidator;
import com.val.entity.*;

public final class SampleValidatorFactory extends AbstractGwtValidatorFactory {
      @GwtValidation(Pravform.class)
      public interface GwtValidator extends Validator {
      }

      @Override
      public AbstractGwtValidator createValidator() {
        return GWT.create(GwtValidator.class);
      }
    }
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import com.val.entity.Pravform;
public class Main implements EntryPoint {
  Pravform newPravform = new Pravform(pfNameTextBox.getText());
  Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
  Set<ConstraintViolation<Pravform>> violations = validator.validate(newPravform);
  if (!violations.isEmpty()) {
    tempLabel.setText("Error");
  }
...
SampleValidatorFactory.java

package com.val.entity;
public class Pravform implements Serializable {
  @Size(min = 4)
  private String pfName;
  ...
package com.val.client;    
import javax.validation.Validator;
import com.google.gwt.core.client.GWT;
import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
import com.google.gwt.validation.client.GwtValidation;
import com.google.gwt.validation.client.impl.AbstractGwtValidator;
import com.val.entity.*;

public final class SampleValidatorFactory extends AbstractGwtValidatorFactory {
      @GwtValidation(Pravform.class)
      public interface GwtValidator extends Validator {
      }

      @Override
      public AbstractGwtValidator createValidator() {
        return GWT.create(GwtValidator.class);
      }
    }
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import com.val.entity.Pravform;
public class Main implements EntryPoint {
  Pravform newPravform = new Pravform(pfNameTextBox.getText());
  Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
  Set<ConstraintViolation<Pravform>> violations = validator.validate(newPravform);
  if (!violations.isEmpty()) {
    tempLabel.setText("Error");
  }
...
Main.java

package com.val.entity;
public class Pravform implements Serializable {
  @Size(min = 4)
  private String pfName;
  ...
package com.val.client;    
import javax.validation.Validator;
import com.google.gwt.core.client.GWT;
import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
import com.google.gwt.validation.client.GwtValidation;
import com.google.gwt.validation.client.impl.AbstractGwtValidator;
import com.val.entity.*;

public final class SampleValidatorFactory extends AbstractGwtValidatorFactory {
      @GwtValidation(Pravform.class)
      public interface GwtValidator extends Validator {
      }

      @Override
      public AbstractGwtValidator createValidator() {
        return GWT.create(GwtValidator.class);
      }
    }
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import com.val.entity.Pravform;
public class Main implements EntryPoint {
  Pravform newPravform = new Pravform(pfNameTextBox.getText());
  Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
  Set<ConstraintViolation<Pravform>> violations = validator.validate(newPravform);
  if (!violations.isEmpty()) {
    tempLabel.setText("Error");
  }
...
import javax.validation.ConstraintViolation;
导入javax.validation.validation;
导入javax.validation.Validator;
导入javax.validation.ValidatorFactory;
导入com.val.entity.Pravform;
公共类主实现入口点{
Pravform newPravform=newPravform(pfNameTextBox.getText());
Validator Validator=Validation.buildDefaultValidatorFactory().getValidator();
设置冲突=validator.validate(newPravform);
如果(!inflictions.isEmpty()){
tempLabel.setText(“错误”);
}
...
Main.gwt.xml

....
<inherits name="org.hibernate.validator.HibernateValidator" />
  <replace-with
    class="com.val.client.SampleValidatorFactory">
    <when-type-is class="javax.validation.ValidatorFactory" />
  </replace-with>
....
。。。。
....

请帮助我解决这个问题。

错误是什么?在开发模式下,您只会看到几行这样的内容,但单击任何一行都会提供更多详细信息。您可能会发现编译项目更容易,并在那里看到完整的错误。错误行是
尝试实例化Generator'com.google.gwt.validation.rebind.V时出现意外错误alidatorGenerator'
。前两行:
Rebinding com.val.client.SampleValidatorFactory.GwtValidator调用generator com.google.gwt.validation.rebind.ValidatorGenerator
来自调试器。是的,隐藏了错误信息:`java.lang.NoClassDefFoundError:javax/validation/ParameterNameProvider`。我起初没有看到它时间。请尝试跟踪该错误消息-如果没有帮助,请共享完整的错误日志,以及所有可用的错误。这可能有助于编译,以便您可以在一个日志中获取整个错误集。问题出在hibernate validator和validation api的兼容版本中。相同的问题已在此处查看。谢谢您,Colin,在rig中指导我ht方向。