169 похожих чатов

Как можно реализовать следующий Шарп код в котлине? person.RuleFor(x => x.Name).Length(5,

10);


Чтоб если длина строки Name не входила в указанный диапазон, то выдавалась ошибка "Name length should be in 5..10"

11 ответов

15 просмотров

есть библиотеки различные, которые наверное позволят валидировать именно в таком стиле, но с помощью стандартных средств это будет выглядеть так: require(name.length in 5..10) { "Name length should be in 5..10" }

с этой либой что я скинул можно так делать validate(person) { validate(Person::name).hasSize(min = 5, max = 10) }

Aλex Sokol
с этой либой что я скинул можно так делать valida...

Вот тут я не совсем понял, что мешает использовать условно require(person.name.length in 5 .. 10) или там еще выводы красивые какие?

А вам не кажется, что это какой-то птичий язык, если можно писать check(person.name.length in 5..10) { "Incorrect length" }?

Iaroslav Postovalov
А вам не кажется, что это какой-то птичий язык, ес...

Если это правило не на месте обрабатывается, а напирмер куда-то передается, то это полезная вещь. Но определенно не в стдлибе

Alexander Nozik
Если это правило не на месте обрабатывается, а нап...

Да никто про стдлибу не говорит. Просто мне кажется, что вот эти библиотеки с рантаймовыми контрактами - оверкилл.

Iaroslav Postovalov
Да никто про стдлибу не говорит. Просто мне кажетс...

Ну ты просто не делал систем со сложной валидацией. Полезная вещь, когда тебе надо комбинировать валидаторы. Но специфическое применение.

Yevhen-Kazmin Автор вопроса
Iaroslav Postovalov
А вам не кажется, что это какой-то птичий язык, ес...

Чтоб было проще понять чего я хочу, можно посмотреть https://fluentvalidation.net/

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта