simple_form + bootstrap,过早验证

时间:2012-03-20 01:52:39

标签: ruby-on-rails twitter-bootstrap simple-form

我的simple_forms在表单提交之前显示验证消息。

例如,当您登陆注册页面时,就好像您只是尝试提交一个空表单一样 - first_name和last_name字段以红色突出显示,然后显示can't be blank错误消息他们。

添加:

required => true
<_>(或false)对simple_form没有影响。

我的用户模型中有验证。如果我删除那些模型验证,表单按预期工作(添加required:true为我提供正常运行的客户端验证)。但是,我希望同时进行客户端和模型验证。

有没有人知道为什么在首次加载表单时会触发验证?

我在我的Rails 3.2.2应用程序中使用了带有bootstrap-sass 2.0.1的simple_form 2.0.1。我的用户表单使用引导样式('form-horizontal'),但是当我删除它时它仍然过早地验证。此外,将:novalidate => true添加到表单构建器也无效。

谢谢!

编辑:这里的新动作是我的doctors_controller:

def new
    @doctor = Doctor.new
    @user = @doctor.build_user
end

(用户是多态关联,可以属于多个模型。)

即使我使用的是build_user而不是create_user,用户模型似乎也会被保存。

解决

我更新了模型验证以包含on: save,这解决了问题。它正在验证尚未保存的用户对象。

1 个答案:

答案 0 :(得分:0)

我更新了我的模型验证以包括:save,这解决了问题。它正在验证尚未保存的用户对象。