Проверка HTML5 "требуется" в формах Ruby on Rails - программирование
Подтвердить что ты не робот

Проверка HTML5 "требуется" в формах Ruby on Rails

Я не могу видеть этот вопрос нигде, он, надеюсь, будет быстрым и легким.

Как я могу использовать валидаторы HTML5, такие как "обязательный", в моих формах (ruby on rails)?

Например, как бы выглядела эта базовая форма, если бы я использовал в ней проверку HTML5?

<%=form_for @testimonial do |t|%> 
<dl>
  <dt><label for="testimonial_rating">Rating</label></dt>
  <dd><%=t.select :rating, Testimonial.ratings%></dd>
  <dt><label for="testimonial_content">Comments</label></dt> 
  <dd><%=t.text_area :content, :rows => 3%></dd>
  <dd><button class="button success">Submit Review</button></dd>
</dl>
<%end%>

Само собой разумеется, что проверка на стороне сервера по-прежнему требуется.

4b9b3361

Ответ 1

А, это было легко :required => true

например: <%=t.text_area :content, :rows => 3, :required => true%>

Ответ 2

Просто добавьте, если у вас есть поле электронной почты, вы также можете использовать атрибут 'pattern' для проверки формата электронной почты

<%=form.text_field :email, :required => true, :pattern => '[^@][email protected][^@]+\.[a-zA-Z]{2,6}' %>

:)

Ответ 3

Дополнение к ответу @prashantsahni. Вы также можете использовать type = 'email' вместо шаблона регулярного выражения, тогда ваш шаблон erb будет выглядеть следующим образом:

<%= f.email_field :email, id: 'user_email', type:'email', required: true, placeholder: "Email" %>  

Подробнее о проверке формы с помощью html5

Ответ 4

Это можно легко сделать, добавив параметр :required => true в ваши поля ввода:

Например

f.text_field :first_name, :required => true
text_field_tag :first_name, nil, :required => true

Нажав на эту кнопку, вы можете добавить шаблон для ввода, например, по электронной почте:

f.email_field :email, 'Email', :required => true, :pattern => '[^@][email protected][^@]+\.[a-zA-Z]{2,6}'

Ответ 5

Это небольшой пример с общими атрибутами и для требуемого добавления только обязательного: true, но не забудьте применить эти проверки в своем бэкэнд.

<%= f.text_field
    id: "yourID",
    class: "yourCLass",
    placeholder: "Your message",
    maxlength: 14,
    required: true
%>

Ответ 6

Для завершения других ответов существует удивительная gem html5_validations, которая делает большую часть проверок HTML5, считанных с помощью проверки ActiveRecord от модели. Не требуется дополнительный код, просто установите его.

Ответ 7

Новый синтаксис <%= f.text_field :email, class: "form-control", required: true %>

Ответ 8

Используйте это, если ничего не работает

include_blank: false, required: true