10);
Чтоб если длина строки Name не входила в указанный диапазон, то выдавалась ошибка "Name length should be in 5..10"
есть библиотеки различные, которые наверное позволят валидировать именно в таком стиле, но с помощью стандартных средств это будет выглядеть так: require(name.length in 5..10) { "Name length should be in 5..10" }
с этой либой что я скинул можно так делать validate(person) { validate(Person::name).hasSize(min = 5, max = 10) }
Вот тут я не совсем понял, что мешает использовать условно require(person.name.length in 5 .. 10) или там еще выводы красивые какие?
мне ничего не мешает) https://t.me/kotlin_lang/255199
А вам не кажется, что это какой-то птичий язык, если можно писать check(person.name.length in 5..10) { "Incorrect length" }?
Если это правило не на месте обрабатывается, а напирмер куда-то передается, то это полезная вещь. Но определенно не в стдлибе
Да никто про стдлибу не говорит. Просто мне кажется, что вот эти библиотеки с рантаймовыми контрактами - оверкилл.
Ну ты просто не делал систем со сложной валидацией. Полезная вещь, когда тебе надо комбинировать валидаторы. Но специфическое применение.
Чтоб было проще понять чего я хочу, можно посмотреть https://fluentvalidation.net/
Обсуждают сегодня