gpt4 book ai didi

ruby-on-rails - 尝试验证日期

转载 作者:太空宇宙 更新时间:2023-11-03 17:56:07 24 4
gpt4 key购买 nike

我有一个表单,我试图在其中验证名为“生日”的字段不是空白,并且日期是 Chronic gem 可以解析的有效日期格式。我总是收到错误消息“生日无效”。我一直在尝试一种简单的格式“10/10/2010”。

我如何验证生日字段是 chronic 可以解析的格式?

User.rb模型

class User < ActiveRecord::Base

validates :birthday, :presence => true
validate :birthday_is_date
validate :position, :presence => true

# validate the birthday format
def birthday_is_date
errors.add(:birthday ,Chronic.parse(birthday)) # testing to see the value of :birthday
errors.add(:birthday, "is invalid test message") if ((Chronic.parse(:birthday) rescue ArgumentError) == ArgumentError)
end
end

contacts_controller.rb

# POST /contacts/1/edit
# actually updates the users data
def update_user
@userProfile = User.find(params[:id])

respond_to do |format|
if @userProfile.update_attributes(params[:user])
format.html {
flash[:success] = "Information updated successfully"
redirect_to(profile_path)
}
else
format.html {
flash[:error] = resource.errors.full_messages

render :edit
}
end
end
end

最佳答案

您的birthday_is_date 验证总是在第一行添加一个错误。应该这样写:

def birthday_is_date
errors.add(:birthday, "is invalid") unless Chronic.parse(birthday)
end

关于ruby-on-rails - 尝试验证日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13264111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com