17 lines
892 B
Ruby
17 lines
892 B
Ruby
class Projects::UpdateForm < BaseForm
|
|
attr_accessor :name, :description, :project_category_id, :project_language_id, :private, :identifier, :user_id, :project_identifier, :project_name
|
|
validates :name, presence: true
|
|
validates :name, length: { maximum: 50 }
|
|
validates :description, length: { maximum: 200 }
|
|
validates :identifier, format: { with: CustomRegexp::REPOSITORY_NAME_REGEX, multiline: true, message: '项目标识只能包含数字,字母,下划线(_),中划线(-),英文句号(.),必须以数字和字母开头,不能以下划线/中划线开头和结尾' }
|
|
|
|
validate do
|
|
check_project_category(project_category_id)
|
|
check_project_language(project_language_id)
|
|
|
|
check_repository_name(user_id, identifier) unless identifier.blank? || identifier == project_identifier
|
|
check_project_name(user_id, name) unless name.blank? || name == project_name
|
|
end
|
|
|
|
end
|