加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails,控制器中的字母数字验证

发布时间:2020-12-17 02:42:18 所属栏目:百科 来源:网络整理
导读:在我的应用程序中,我让用户选择一个用户名,就像twitter注册页面: https://twitter.com/signup 当用户开始输入用户名时,我希望实时让用户知道用户名是否可用有效. 我用来验证用户名的正则表达式是字母数字是: /^[a-z0-9]+[-a-z0-9]*[a-z0-9]+$/i 给定参数[
在我的应用程序中,我让用户选择一个用户名,就像twitter注册页面: https://twitter.com/signup

当用户开始输入用户名时,我希望实时让用户知道用户名是否可用&有效.

我用来验证用户名的正则表达式是字母数字是:

/^[a-z0-9]+[-a-z0-9]*[a-z0-9]+$/i

给定参数[:用户名]

在控制器中,如何验证用户名是否为字母数字.注意,我不是在这里保存记录只是验证.所以模型验证不起作用.

想法?谢谢

解决方法

您仍然希望使用模型验证.

也许这样的东西:

class User
  validates :username,:format => { :with => /your regex/ },:uniqueness => true
end

# then in some controller action or rack app
def test_username
  user = User.new(:username => params[:username])

  # Call user.valid? to trigger the validations,then test to see if there are 
  # any on username,which is all you're concerned about here.
  #
  # If there are errors,they'd be returned so you can use them in the view,# if not,just return success or something.
  #
  if !user.valid? && user.errors[:username].any?     
    render :json => { :success => false,:errors => user.errors[:username] }
  else
    render :json => { :success => true }
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读