mirror of
https://github.com/discourse/discourse.git
synced 2025-05-21 18:12:32 +08:00
Add min_private_message_title_length site setting so private messages can have short titles
This commit is contained in:
16
lib/validators/topic_title_length_validator.rb
Normal file
16
lib/validators/topic_title_length_validator.rb
Normal file
@ -0,0 +1,16 @@
|
||||
class TopicTitleLengthValidator < ActiveModel::EachValidator
|
||||
|
||||
def initialize(options)
|
||||
@topic_title_validator = ActiveModel::Validations::LengthValidator.new({attributes: :title, in: SiteSetting.topic_title_length, allow_blank: true})
|
||||
@private_message_title_validator = ActiveModel::Validations::LengthValidator.new({attributes: :title, in: SiteSetting.private_message_title_length, allow_blank: true})
|
||||
super
|
||||
end
|
||||
|
||||
def validate_each(record, attribute, value)
|
||||
if record.private_message?
|
||||
@private_message_title_validator.validate_each(record, attribute, value)
|
||||
else
|
||||
@topic_title_validator.validate_each(record, attribute, value)
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user