У меня есть ограничение, по которому я хочу использовать EL, чтобы настроить сообщение в соответствии с обстоятельствами. В зависимости от длины массива я хочу показать другое сообщение. Однако у меня возникли проблемы с получением длины этого массива.
Что я делаю не так?
import org.junit.jupiter.api.Test;
import javax.validation.*;
import java.lang.annotation.*;
import static org.assertj.core.api.Assertions.assertThat;
public class FooTest {
private final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
@Test
public void foo() {
var violations = validator.validate(new ObjectWithFoo());
assertThat(violations).extracting("message")
.containsExactly("Field value should be foo");
}
@Test
public void foos() {
var violations = validator.validate(new ObjectWithFoos());
assertThat(violations).extracting("message")
.containsExactly("Field value should be one of [foo, bar, baz]");
}
@Foo(foos = {"foo"})
private static class ObjectWithFoo{}
@Foo(foos = {"foo", "bar", "baz"})
private static class ObjectWithFoos{}
@Constraint(validatedBy = FooValidator.class)
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Foo{
Class[] groups() default {};
Class
Подробнее здесь: https://stackoverflow.com/questions/701 ... n-constrai
Как использовать EL для оценки длины массива в сообщении ограничения проверки компонента? ⇐ JAVA
Программисты JAVA общаются здесь
1765528629
Anonymous
У меня есть ограничение, по которому я хочу использовать EL, чтобы настроить сообщение в соответствии с обстоятельствами. В зависимости от длины массива я хочу показать другое сообщение. Однако у меня возникли проблемы с получением длины этого массива.
Что я делаю не так?
import org.junit.jupiter.api.Test;
import javax.validation.*;
import java.lang.annotation.*;
import static org.assertj.core.api.Assertions.assertThat;
public class FooTest {
private final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
@Test
public void foo() {
var violations = validator.validate(new ObjectWithFoo());
assertThat(violations).extracting("message")
.containsExactly("Field value should be foo");
}
@Test
public void foos() {
var violations = validator.validate(new ObjectWithFoos());
assertThat(violations).extracting("message")
.containsExactly("Field value should be one of [foo, bar, baz]");
}
@Foo(foos = {"foo"})
private static class ObjectWithFoo{}
@Foo(foos = {"foo", "bar", "baz"})
private static class ObjectWithFoos{}
@Constraint(validatedBy = FooValidator.class)
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Foo{
Class[] groups() default {};
Class
Подробнее здесь: [url]https://stackoverflow.com/questions/70129030/how-do-i-use-el-to-evaluate-the-length-of-an-array-in-a-bean-validation-constrai[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия