720ed6f6ab
Partially addresses #47424.
14 lines
348 B
Ruby
14 lines
348 B
Ruby
# frozen_string_literal: true
|
|
|
|
# LineCodeValidator
|
|
#
|
|
# Custom validator for GitLab line codes.
|
|
class LineCodeValidator < ActiveModel::EachValidator
|
|
PATTERN = /\A[a-z0-9]+_\d+_\d+\z/.freeze
|
|
|
|
def validate_each(record, attribute, value)
|
|
unless value =~ PATTERN
|
|
record.errors.add(attribute, "must be a valid line code")
|
|
end
|
|
end
|
|
end
|