discourse/lib/validators
Martin Brennan dba6a5eabf
FEATURE: Humanize file size error messages (#14398)
The file size error messages for max_image_size_kb and
max_attachment_size_kb are shown to the user in the KB
format, regardless of how large the limit is. Since we
are going to support uploading much larger files soon,
this KB-based limit soon becomes unfriendly to the end
user.

For example, if the max attachment size is set to 512000
KB, this is what the user sees:

> Sorry, the file you are trying to upload is too big (maximum
size is 512000KB)

This makes the user do math. In almost all file explorers that
a regular user would be familiar width, the file size is shown
in a format based on the maximum increment (e.g. KB, MB, GB).

This commit changes the behaviour to output a humanized file size
instead of the raw KB. For the above example, it would now say:

> Sorry, the file you are trying to upload is too big (maximum
size is 512 MB)

This humanization also handles decimals, e.g. 1536KB = 1.5 MB
2021-09-22 07:59:45 +10:00
..
allow_user_locale_enabled_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
allowed_ip_address_validator.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
alternative_reply_by_email_addresses_validator.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
categories_topics_validator.rb UX: Introduce automatic 'categories topics' setting (#8804) 2020-01-29 20:30:48 +02:00
category_search_priority_weights_validator.rb FEATURE: Change very high/low search priority to rank at absolute ends. 2021-03-09 09:20:37 +08:00
censored_words_validator.rb DEV: stop freezing frozen strings 2020-04-30 16:48:53 +10:00
color_list_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
css_color_validator.rb FIX: Validate email_accent_bg_color color (#13778) 2021-07-22 17:42:47 +03:00
email_setting_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
email_validator.rb FIX: Improve error messages for invites (#12714) 2021-04-15 14:46:32 +03:00
enable_invite_only_validator.rb FEATURE: Rename 'Discourse SSO' to DiscourseConnect (#11978) 2021-02-08 10:04:33 +00:00
enable_local_logins_via_email_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
enable_private_email_messages_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
enable_sso_validator.rb FEATURE: Rename 'Discourse SSO' to DiscourseConnect (#11978) 2021-02-08 10:04:33 +00:00
external_system_avatars_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group_setting_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
integer_setting_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
ip_address_format_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
markdown_typographer_quotation_marks_validator.rb FEATURE: Site setting for typographic quotation marks 2019-07-11 23:19:28 +02:00
max_emojis_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
max_username_length_validator.rb DEV: pluck_first 2019-10-21 12:08:20 +01:00
min_username_length_validator.rb DEV: pluck_first 2019-10-21 12:08:20 +01:00
password_validator.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
pop3_polling_enabled_setting_validator.rb DEV: Add service to validate email settings (#13021) 2021-05-13 15:11:23 +10:00
post_validator.rb FIX - limit number of embedded media items in a post (#10391) 2020-08-07 12:08:59 -04:00
quality_title_validator.rb FEATURE: Improve errors when title is invalid (#11149) 2020-11-11 15:11:36 +02:00
regex_presence_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
regex_setting_validation.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
regex_setting_validator.rb DEV: stop freezing frozen strings 2020-04-30 16:48:53 +10:00
reply_by_email_address_validator.rb DEV: stop mutating inputs as a side effect 2019-04-30 10:25:53 +10:00
reply_by_email_enabled_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
selectable_avatars_enabled_validator.rb DEV: Make site setting type uploaded_image_list use upload IDs (#10401) 2020-10-13 16:17:06 +03:00
sso_overrides_email_validator.rb FEATURE: sso_overrides_(email|username|name) for all auth methods 2020-07-06 10:18:45 +01:00
string_setting_validator.rb DEV: Add experimental json_scheme site setting type (#12226) 2021-03-01 09:15:17 -05:00
stripped_length_validator.rb FIX: post merging was failing silently (#12566) 2021-04-01 06:46:18 +05:30
timezone_validator.rb FEATURE: Add timezone to core user_options (#8380) 2019-11-25 10:49:27 +10:00
topic_title_length_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
unicode_username_allowlist_validator.rb FIX: use allowlist and blocklist terminology (#10209) 2020-07-27 10:23:54 +10:00
unicode_username_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
unique_among_validator.rb DEV: Upgrade Rails to 6.1.3.1 (#12688) 2021-04-21 12:36:32 +03:00
upload_validator.rb FEATURE: Humanize file size error messages (#14398) 2021-09-22 07:59:45 +10:00
url_validator.rb FIX: Replace deprecated URI.encode, URI.escape, URI.unescape and URI.unencode (#8528) 2019-12-12 12:49:21 +10:00
user_full_name_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
username_setting_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
watched_words_validator.rb FEATURE: topic title is validated for blocked words (#8127) 2019-10-02 10:38:34 +10:00