From 17ea019f4e43b4fb394544f9d86ab3016f54d28e Mon Sep 17 00:00:00 2001
From: Andrey Kumanyaev <me@zzet.org>
Date: Wed, 26 Dec 2012 02:50:41 +0400
Subject: [PATCH] Add Project name validation

---
 app/models/project.rb | 4 +++-
 lib/gitlab/regex.rb   | 4 ++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/app/models/project.rb b/app/models/project.rb
index c2986707667..a72a64c94ea 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -64,7 +64,9 @@ class Project < ActiveRecord::Base
   # Validations
   validates :owner, presence: true
   validates :description, length: { within: 0..2000 }
-  validates :name, presence: true, length: { within: 0..255 }
+  validates :name, presence: true, length: { within: 0..255 },
+            format: { with: Gitlab::Regex.project_name_regex,
+                      message: "only letters, digits & '_' '-' '.' allowed. Letter should be first" }
   validates :path, presence: true, length: { within: 0..255 },
             format: { with: Gitlab::Regex.path_regex,
                       message: "only letters, digits & '_' '-' '.' allowed. Letter should be first" }
diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb
index a3f38b1c360..e0fb47da17b 100644
--- a/lib/gitlab/regex.rb
+++ b/lib/gitlab/regex.rb
@@ -6,6 +6,10 @@ module Gitlab
       default_regex
     end
 
+    def project_name_regex
+      default_regex
+    end
+
     def path_regex
       default_regex
     end
-- 
GitLab