class ProjectPackages::SaveForm
  include ActiveModel::Model

  attr_accessor :category_id, :title, :content, :attachment_ids, :deadline_at,
                :min_price, :max_price, :contact_name, :contact_phone, :code, :publish

  validates :category_id, presence: true
  validates :title, presence: true, length: { maximum: 60 }
  validates :content, presence: true
  validates :deadline_at, presence: true
  validates :min_price, numericality: { greater_than: 0 }, allow_blank: true
  validates :max_price, numericality: { greater_than: ->(obj){ obj.min_price.to_i } }, allow_blank: true
  validates :contact_name, presence: true, length: { maximum: 20 }
  validates :contact_phone, presence: true, format: { with: /1\d{10}/ }
end