Ich verwende ersinnen und simple_form für meine To-do-Liste App. Nun habe ich den folgenden Code für meine Benutzer/edit.html.erbTesting HTML 5 Validierungen Form, wenn simple_form Rails mit
<%= content_for :title,'Edit profile' %>
<h2>Edit profile</h2>
<%= simple_form_for current_user, class: 'form-horizontal' do |f| %>
<%= f.input :nick_name %>
<%= f.submit 'Update profile' %>
<% end %>
Meine user.rb wie folgt aussieht:
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
Nun, wenn ich auf einreichen klicken mit einem leeren NICK_NAME Feld, bekomme ich eine Popup-Art von Alarm. Es ist nicht wie eine normale Browser-Warnung, ich denke, es ist eine HTML5-Funktion. Ich erhalte diese Meldung Please fill out this field
als Popup unter dem leeren Feld. Ich habe Javascript deaktiviert, aber es zeigt immer noch die gleiche Nachricht. Das ist mein NICK_NAME Eingabefeld:
<input class="string required" id="user_nick_name" name="user[nick_name]" required="required" size="50" type="text">
Nun, wenn ich die Anwesenheit Validierung für NICK_NAME in meinem Modell zu entfernen, das Popup nicht .Wenn Validierungsleitung kommentiert out,
erscheint<input class="string optional" id="user_nick_name" name="user[nick_name]" size="50" type="text">
Ist simple_form etwas hinter den Kulissen Magie?
Da dieses Popup jede Spur von HTML-Code zeigen tut, wie für diese Validierung in Capybara/rspec testen?
dass ein html5 Funktion ist nur das Attribut benötigt wird, und natürlich Unterstützung des Browsers. – Musa
Ok, wie teste ich es Capybara mit? – lnreddy