Большое значение «title max word length» вызывает ошибку сервера

  • Установите title max word length в 2000000000
  • Попробуйте создать тему
  • Получите ошибку 500
  • Темы не могут быть созданы
RegexpError (слишком большое число для диапазона повторений: /\p{Alnum}{2000000001,}/)
lib/text_sentinel.rb:62:in `seems_unpretentious?'
lib/text_sentinel.rb:45:in `valid?'
lib/validators/quality_title_validator.rb:12:in `validate_each'
lib/topic_creator.rb:24:in `valid?'
lib/has_errors.rb:13:in `validate_child'
lib/post_creator.rb:133:in `valid?'
lib/post_creator.rb:187:in `create'
lib/new_post_manager.rb:318:in `perform_create_post'
lib/new_post_manager.rb:252:in `perform'
app/controllers/posts_controller.rb:215:in `create'

Введено на прошлой неделе. Максимум — 100000.

2 лайка

Сейчас максимальная длина заголовка темы, по-видимому, ограничена значением 255, поэтому, возможно, максимальная длина слова в заголовке должна иметь тот же лимит?

Я подумал, что можно убрать ограничение на максимальную длину слова в заголовке, установив его значение в 0 (вместо использования очень большого числа), но это фактически выявило отдельную ошибку: сейчас система принимает значение 0, но это не отключает проверку — вместо этого становится невозможно создать тему, так как ни один заголовок не считается валидным:

Конечно, можно отменить коммит, который выявил эту проблему, но независимо от этого, кажется, что для максимальной длины слова в заголовке нужна дополнительная валидация (например, диапазон [1, 255])?

2 лайка

Я попробовал это, ограничив title_max_word_length диапазоном [1, 255].

1 лайк

Так как пользователи могли устанавливать это значение в 0, пытаясь отключить проверку, возможно, будет лучше мигрировать значение 0 в 255, а не в 1. Что вы думаете по этому поводу? :thinking:

Я не против этого… хотя сомневаюсь, что существует какой-либо форум, где это по ошибке установлено в 0, так как в таком случае создание тем было бы невозможно, и, скорее всего, это уже было отменено.

2 лайка

Это правда! Пожалуйста, проигнорируйте мой комментарий!