根据最新的Devise文档,我在:name
模型中添加了其他参数User
并调整了RegistrationsController
。它到目前为止工作,参数已经采用,我现在能够用name
注册用户,但是我如何强制要求这个参数呢?如果我没有在注册请求中指定它,它仍然会注册用户而不设置name
(在db中然后:name = nil)。那么如何防止这种情况并使name
成为必需的?
这是控制器:
class Users::RegistrationsController < Devise::RegistrationsController
# Disable CSRF protection
skip_before_action :verify_authenticity_token
# Be sure to enable JSON.
respond_to :html, :json
before_action :configure_sign_up_params, only: [:create]
protected
def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
end
end
答案 0 :(得分:1)
为此,您必须在注册表单上应用验证。您可以使用两种不同的方式来实现此目的
服务器端验证
为此,您可以使用validates
帮助器。您可以在用户模型中添加以下行(user.rb)。有关详细信息,请参阅this link。
validates :name, presence: true
客户端验证
您可以使用 JQuery plugin 来实现此功能。
请参阅this链接以使用jquery.validate()实现JQuery验证