Не удалось найти валидатор для ограничения «javax.validation.constraints.NotBlank», проверяющего тип «java.lang.String» - PullRequest
0 голосов
/ 18 октября 2018

Я использую валидатор Hibernate для проверки своих бинов.

На самом деле у меня есть эти зависимости от моего POM

    <!-- Hibernate validator - Bean validation API Implementation -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>6.0.11.Final</version>
    </dependency>

    <!-- Verify validation annotations usage at compile time -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator-annotation-processor</artifactId>
        <version>6.0.11.Final</version>
    </dependency>

    <!-- Unified Expression Language - Spec -->
    <dependency>
        <groupId>javax.el</groupId>
        <artifactId>javax.el-api</artifactId>
        <version>3.0.1-b06</version>
    </dependency>

    <!-- Unified Expression Language - Implementation -->
    <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>javax.el</artifactId>
        <version>2.2.6</version>
    </dependency>

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.1.Final</version>
    </dependency>

И это кусочек моего боба

import org.hibernate.annotations.ColumnDefault;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

public class Casa {

    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private Integer id;

    @Column(name="nomcaac") @NotBlank(message = "{casa.nomcaac.null}") @Size(min = 0, max = 300, message = "{casa.nomcaac.size}")
    private String nomcaac;

Теперь проблема возникает, когда я пытаюсь проверить свой bean-компонент, я получаю это сообщение об ошибке

Не удалось найти валидатор для ограничения «javax.validation.constraints.NotBlank», проверяющего тип «java».lang.String.Проверьте конфигурацию для 'nomcaac'

Я не могу понять, в чем моя проблема, я думаю, что у меня есть правильные зависимости в соответствии с этой страницей .

1 Ответ

0 голосов
/ 18 октября 2018

@NotBlank является новым в Bean Validation 2.0, поэтому я подозреваю, что у вас есть старая версия Hibernate Validator (например, 5.x) в вашем пути к классам.

Вы должны проверить дерево зависимостей с помощью mvn dependency:tree (и ваше веб-приложение ищет старый jar).

Кстати, ваши зависимости javax.el неверны: пожалуйста, обратитесь к https://github.com/hibernate/hibernate-validator/#using-hibernate-validator для правильного определения.

...