在保存后续模型之前,使用模型验证确保这些属性存在:
您可以在验证级别上操作并传递要验证的属性:
# app/models/user.rb
validates_presence_of :textfield, :checkbox, :radiobutton # or whatever actual attribute names you choose
或者,您可以指定为模型运行验证(许多用户现在更喜欢这种方法):
# app/models/user.rb
validates :textfield, :presence => true # or `presence: true` in Ruby 1.9
validates :checkbox, :presence => true
validates :radiobutton, :presence => true
如果在提交时未填写这些属性中的任何一个,save
则会引发错误,您可以通过渲染回您提交的操作来处理该错误。
# app/controllers/users_controller.rb
def create
user = User.new(params[:user])
if user.save
# handle if successful
else
flash[:message] = "Something did not validate" # if using flash messages
render :action => :new
end
end
选择:
如果您真的想在提交之前验证您的字段,您可以使用 Javascript/jQuery 验证库,例如jQuery.validationEngine。这些客户端库可以让您完全阻止基于验证标准的表单提交——也就是说,如果验证失败,则永远不会通过 HTTP 发布表单。