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

ruby-on-rails – 不允许用户在轨道上的ruby中提交带有空字段的

发布时间:2020-12-17 03:49:36 所属栏目:百科 来源:网络整理
导读:我开始使用 Ruby on Rails,我遇到了一些问题.我有一个包含3个字段的表单,这是代码: %= form_for(resource,as: resource_name,url: registration_path(resource_name)) do |f| % %= devise_error_messages! % div class="field" %= f.text_field :name,autof
我开始使用 Ruby on Rails,我遇到了一些问题.我有一个包含3个字段的表单,这是代码:

<%= form_for(resource,as: resource_name,url: registration_path(resource_name)) do |f| %>
  <%= devise_error_messages! %>

  <div class="field">
    <%= f.text_field :name,autofocus: true,placeholder: "Name" %>
  </div>

  <div class="field">
    <%= f.email_field :email,placeholder: "Email" %>
  </div>

  <div class="field">
    <%= f.number_field :age,placeholder: "Age" %>
  </div>

  <div class="actions">
    <%= f.submit "Sign up" %>
  </div>
<% end %>

在电子邮件字段中,当您编写非电子邮件并尝试提交的内容时,浏览器(chrome或firefox)会显示错误消息,指出该字段必须包含@.年龄字段也是如此,如果输入了一个字母,浏览器会显示一个错误,表示该字段只接受数字.

我想知道当你尝试提交时,如果任何字段为空,浏览器会显示一条消息.我知道如何在cakephp中做到这一点,所以我想它也可以在ruby中完成.我已经验证了模型中的字段,将显示设置为true,但这仅适用于在您提交并再次重新加载页面后显示消息.

解决方法

当你使用类似的东西:

f.email_field

它正在生成HTML5输入元素,告诉浏览器它必须是有效的电子邮件. HTML 5还有一个required =’required’选项,可用于防止空白字段.

您可以像这样添加它:

<div class="field">
  <%= f.email_field :email,placeholder: "Email",:required => 'required' %>
</div>

这将为表单元素添加required =’required’.请注意,在HTML5中,您只需要表单元素中所需的单词,但我知道在Rails中添加它的唯一方法是使用我在这里向您展示的选项表单.

这将阻止在没有该字段的情况下提交表单.这适用于当前版本的Firefox,Chrome,Opera和IE11. Safari将阻止提交但不表示原因.它什么都不做.

我会检查一下:http://blueashes.com/2013/web-development/html5-form-validation-fallback/

(编辑:李大同)

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

    推荐文章
      热点阅读