ActiveRecord :: StatementInvalid(PG :: InvalidDatetimeFormat:错误:类型为date的输入语法无效:“”

时间:2018-07-26 05:00:37

标签: ruby-on-rails validation before-save server-side-validation

在我的模型中,我有:

validates_presence_of :start_date, :message => 'Please enter date.'
validate :start_date_exist_check , on: :create`

def start_date_exist_check 
  @check_date = Employee.where('start_date = ?', start_date)`
  if @check_date.blank?
  end
end
在我的模块validate_presence_of之后执行

start_date_exist_check,这会造成问题。

有人可以告诉我如何首先验证该字段吗?

1 个答案:

答案 0 :(得分:0)

首先检查开始日期是否为空,如果为空,则从第一行返回

validates_presence_of :start_date, :message => 'Please enter date.'
validate :start_date_exist_check , on: :create`

def start_date_exist_check 
  return if start_date.blank?
  @check_date = Employee.where('start_date = ?', start_date)`
  if @check_date.blank?
  end
end

未经测试 让我知道它是否不起作用