summaryrefslogtreecommitdiff
path: root/app/models/bulk_imports/entity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/bulk_imports/entity.rb')
-rw-r--r--app/models/bulk_imports/entity.rb25
1 files changed, 22 insertions, 3 deletions
diff --git a/app/models/bulk_imports/entity.rb b/app/models/bulk_imports/entity.rb
index a7e57b60936..6fc24c77f1d 100644
--- a/app/models/bulk_imports/entity.rb
+++ b/app/models/bulk_imports/entity.rb
@@ -39,9 +39,28 @@ class BulkImports::Entity < ApplicationRecord
validates :project, absence: true, if: :group
validates :group, absence: true, if: :project
- validates :source_type, :source_full_path, :destination_name, presence: true
- validates :destination_namespace, exclusion: [nil], if: :group
- validates :destination_namespace, presence: true, if: :project
+ validates :source_type, presence: true
+ validates :source_full_path,
+ presence: true,
+ format: { with: Gitlab::Regex.bulk_import_source_full_path_regex,
+ message: Gitlab::Regex.bulk_import_destination_namespace_path_regex_message }
+
+ validates :destination_name,
+ presence: true,
+ format: { with: Gitlab::Regex.group_path_regex,
+ message: Gitlab::Regex.group_path_regex_message }
+
+ validates :destination_namespace,
+ exclusion: [nil],
+ format: { with: Gitlab::Regex.bulk_import_destination_namespace_path_regex,
+ message: Gitlab::Regex.bulk_import_destination_namespace_path_regex_message },
+ if: :group
+
+ validates :destination_namespace,
+ presence: true,
+ format: { with: Gitlab::Regex.bulk_import_destination_namespace_path_regex,
+ message: Gitlab::Regex.bulk_import_destination_namespace_path_regex_message },
+ if: :project
validate :validate_parent_is_a_group, if: :parent
validate :validate_imported_entity_type