Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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
Java 无效验证器_Java_Spring_Validation_Annotations - Fatal编程技术网

Java 无效验证器

Java 无效验证器,java,spring,validation,annotations,Java,Spring,Validation,Annotations,我是Java和Spring新手。我正在用SpringMVC指南做我的第一个应用程序,我的“类别”字段验证器有问题。它不能正常工作。。Tbh根本不起作用 category.java @Target( { METHOD, FIELD, ANNOTATION_TYPE }) @Retention(RUNTIME) @Constraint(validatedBy = CategoryValidator.class) @Documented public @interface Category {

我是Java和Spring新手。我正在用SpringMVC指南做我的第一个应用程序,我的“类别”字段验证器有问题。它不能正常工作。。Tbh根本不起作用

category.java

@Target( { METHOD, FIELD, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = CategoryValidator.class)
@Documented
public @interface Category {
    String message() default "{com.packt.webstore.validator.Category.message}";
    Class<?>[] groups() default {};
    public abstract Class<? extends Payload>[] payload() default {};
    String[] allowedCategories() default {"Laptop","Tablet","Smartfon"};
}
@Target({METHOD,FIELD,ANNOTATION\u TYPE})
@保留(运行时)
@约束(validatedBy=CategoryValidator.class)
@记录
公共@接口类别{
String message()默认值“{com.packt.webstore.validator.Category.message}”;
类[]组()默认值{};

公共抽象类这个答案应该在评论部分,但我还不能发表评论:

字符串相等不适用于
=
运算符

您必须使用
String.equals(String-anotherString)
来比较它们

使用
==
,您只能验证两个字符串在内存中是否相同。 等于比较字符串的值


希望对您有所帮助

您是如何将验证器绑定到上下文的?…真为我感到羞耻。cpp habits,非常感谢!
public class CategoryValidator implements ConstraintValidator<Category, String> {
String[] allowedCategories;
public void initialize( Category constraintAnnotation ) {
    this.allowedCategories = constraintAnnotation.allowedCategories();
}
public boolean isValid( String value, ConstraintValidatorContext context ) {
    for( String category : allowedCategories ) {
        if( value == category ) {
            return false;
        }
    }
    return true;
}