diff --git a/app/forms/examination_banks/save_exam_form.rb b/app/forms/examination_banks/save_exam_form.rb index 1835baa82..b84b32eb1 100644 --- a/app/forms/examination_banks/save_exam_form.rb +++ b/app/forms/examination_banks/save_exam_form.rb @@ -7,6 +7,9 @@ class ExaminationBanks::SaveExamForm validates :sub_discipline_id, presence: true validates :difficulty, presence: true, inclusion: {in: 1..3}, numericality: { only_integer: true } validates :name, presence: true, length: { maximum: 60 } - validates :duration, numericality: { only_integer: true, greater_than: 0 } + validate :validate_duration + def validate_duration + raise '时长应为大于0的整数' if duration.present? && duration.to_i < 1 + end end \ No newline at end of file diff --git a/app/services/examination_banks/save_examination_bank_service.rb b/app/services/examination_banks/save_examination_bank_service.rb index ab13e2412..1db165785 100644 --- a/app/services/examination_banks/save_examination_bank_service.rb +++ b/app/services/examination_banks/save_examination_bank_service.rb @@ -11,7 +11,7 @@ class ExaminationBanks::SaveExaminationBankService < ApplicationService exam.name = params[:name].to_s.strip exam.difficulty = params[:difficulty] - exam.duration = params[:duration] + exam.duration = params[:duration].present? ? params[:duration].to_i : nil exam.sub_discipline_id = params[:sub_discipline_id] exam.save!