simple form html css,使用simple_form Rails时测试HTML 5表单验证

本文探讨了在使用Devise和Simple_form开发待办事项应用时,遇到的HTML5空字段验证问题。作者发现禁用JavaScript后,仍出现提示消息,且验证注释后消失。寻求在Capybara/RSpec中测试此验证的方法。
摘要由CSDN通过智能技术生成

我正在为我的待办事项列表应用程序使用devise和simple_form.现在,我的用户/ edit.html.erb有以下代码

Edit profile

我的user.rb看起来像这样:

class User < ActiveRecord::Base

devise :database_authenticatable, :registerable,

:recoverable, :rememberable, :trackable, :validatable

attr_accessible :email,:nick_name, :password, :password_confirmation, :remember_me

validates :nick_name, presence: true # the other fields already validated by devise

has_many :lists , dependent: :destroy

end

现在,当我点击带有空nick_name字段的提交按钮时,我会得到一个弹出式警报.它不像普通的浏览器警报,我认为它是一个HTML5功能.我将此消息Please fill out this field作为空字段下方的弹出窗口.我已禁用javascript,但它仍显示相同的消息.这是我的nick_name输入字段:

现在,当我在模型中删除nick_name的状态验证时,此弹出窗口不会出现.当验证行被注释掉时,

simple_form在幕后做了一些魔术吗?

由于这个弹出窗口没有显示任何html代码的痕迹,如何在capybara/rspec中测试这个验证?

FillForm功能概要描述及与普通填表扩展autofill forms的比较: * 通过一个快捷键(Alt + Q)就可以填写当前网页内容。 * 通过一个快捷键(Alt + W)就可以保存当前网页内容,这是autofill forms所没有的功能。 * 对于已经保存的数据都是做了一些加密的,别人是无法轻易看到得到里面的信息的。例如用户名、密码等。这是autofill forms一直存在的缺陷。 * 对于表单,可以填写除了input标签之外的所有可填写的标签。例如textarea,select。(文本框、超文本框、下拉列表框、复选框、单选框)。 * 可以填写非表单的标签。例如有些标签并没有放在表单内我们的fillform也可以处理,而autofill forms是无法处理表单之外的标签的。 * 可以使用历史数据对未保存过信息的网址进行填写。有一个相同的网页有着不同的网址,fillform只要保存一次就可以都填写了。 * 如果使用历史数据填写,则都是使用最新的数据进行填写。例如很多文本框的name标签都叫username,历史记录中可能保存了很多 username的值,这如果再遇到name为username的文本框则会直接使用最近保存的一次的值进行填写。通过保存操作用户可以调整控制“默认值”。autofill forms是弹出个对话框让用户选择的,比较麻烦。 * 有效的减少了一些冲突,智能化处理的很多东西,大大降低用户的手工操作。例如几个文本框的name属性都叫“username”,在 fillform中可以自动编排处理,无须用户手工选择,这在autofill forms中需要手工确认information 的。 * 此插件虽然小但功能却是强大的,而且使用方法很简单,占用系统资源也很小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值