forked from mirrors/catstodon
14 lines
340 B
Ruby
14 lines
340 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class RegexpSyntaxValidator < ActiveModel::EachValidator
|
||
|
def validate_each(record, attribute, value)
|
||
|
return if value.blank?
|
||
|
|
||
|
begin
|
||
|
Regexp.compile(value)
|
||
|
rescue RegexpError => e
|
||
|
record.errors.add(attribute, I18n.t('applications.invalid_regexp', message: e.message))
|
||
|
end
|
||
|
end
|
||
|
end
|