Java @目标属性值必须是类文字
我正在使用Spring和Hibernate进行我的第一个项目,我想为IP地址创建一个验证器 要创建项目,我使用IntelliJ。当我像这样输入代码时,我在Java @目标属性值必须是类文字,java,spring,hibernate,Java,Spring,Hibernate,我正在使用Spring和Hibernate进行我的第一个项目,我想为IP地址创建一个验证器 要创建项目,我使用IntelliJ。当我像这样输入代码时,我在@Target注释属性值必须是类文本上得到一个错误 我确实理解这个注释必须做什么,但是如果我一直得到这个错误,它将无法工作 我在这里查看了有关自定义约束的文档,并查看了几个Stackoverflow页面,但我无法解决此错误 import org.hibernate.annotations.Target; import javax.valida
@Target
注释属性值必须是类文本上得到一个错误
我确实理解这个注释必须做什么,但是如果我一直得到这个错误,它将无法工作
我在这里查看了有关自定义约束的文档,并查看了几个Stackoverflow页面,但我无法解决此错误
import org.hibernate.annotations.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import static java.lang.annotation.ElementType.FIELD;
/**
* Created by johan on 17-5-17.
*/
@Target({ FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = IpAddressValidator.class)
public @interface IpAddress{
String message() default "{ipAddress.invalid}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
import org.hibernate.annotations.Target;
导入javax.validation.Constraint;
导入javax.validation.Payload;
导入java.lang.annotation.Documented;
导入java.lang.annotation.Retention;
导入java.lang.annotation.RetentionPolicy;
导入静态java.lang.annotation.ElementType.FIELD;
/**
*约翰于2017年5月17日创作。
*/
@目标({FIELD})
@保留(RetentionPolicy.RUNTIME)
@记录
@约束(validatedBy=IpAddressValidator.class)
公共@接口IP地址{
字符串消息()默认值“{ipAddress.invalid}”;
类[]组()默认值{};
Class您使用了错误的@Target
。您本想使用java.lang.annotation.Target
但导入了org.hibernate.annotations.Target
。将第一次导入更改为import java.lang.annotation.Target
,应该可以正常工作。可能FIELD.Class
?@litite没有,已经尝试过了。然后我得到了一个message未知类:FIELD
是一个全局常量,而不是一个类。@litelite我应该在那里放什么?如果我想验证一个字段?如果你知道去哪里找,生活有时会很简单。谢谢。同样的故事!谢谢你,伙计!