html5_validators 1.5.0 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +19 -4
- data/gemfiles/Gemfile.rails-4.0 +1 -0
- data/gemfiles/Gemfile.rails-4.1 +1 -0
- data/gemfiles/Gemfile.rails-4.2 +1 -0
- data/lib/html5_validators/action_view/form_helpers.rb +1 -1
- data/lib/html5_validators/version.rb +1 -1
- data/test/fake_app.rb +21 -1
- data/test/features/validation_test.rb +8 -0
- metadata +3 -4
- data/.rspec +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f42582a45b426a624233abfd0c846d2b4253c09c
|
4
|
+
data.tar.gz: f699d9d08608826ea5f7926dc55a0047e1a1866b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 390f53c7bd1726de0d717495680841bf7174612a2a46d2b5f0cc7a091c24195966649172c0e1dd7c51173c3cd8757e54cab5e101033e9e189b31291c16562d1e
|
7
|
+
data.tar.gz: 3063081e6158297715a1a1de5efdfa6dc32dfda33adfbf267c66847956ca975b43fbec6ed1f243e75b6ceb08e5cb01e60d5655b074a518ba6aeba5c9c5e804c5
|
data/.travis.yml
CHANGED
@@ -3,8 +3,9 @@ language: ruby
|
|
3
3
|
rvm:
|
4
4
|
- 2.0.0
|
5
5
|
- 2.1.10
|
6
|
-
- 2.2.
|
7
|
-
- 2.3.
|
6
|
+
- 2.2.7
|
7
|
+
- 2.3.4
|
8
|
+
- 2.4.1
|
8
9
|
- ruby-head
|
9
10
|
|
10
11
|
gemfile:
|
@@ -27,11 +28,25 @@ matrix:
|
|
27
28
|
gemfile: gemfiles/Gemfile.rails-edge
|
28
29
|
- rvm: 2.1.10
|
29
30
|
gemfile: gemfiles/Gemfile.rails-edge
|
30
|
-
- rvm: 2.2.
|
31
|
+
- rvm: 2.2.7
|
31
32
|
gemfile: gemfiles/Gemfile.rails-3.2
|
32
|
-
- rvm: 2.3.
|
33
|
+
- rvm: 2.3.4
|
33
34
|
gemfile: gemfiles/Gemfile.rails-3.2
|
35
|
+
- rvm: 2.4.1
|
36
|
+
gemfile: gemfiles/Gemfile.rails-3.2
|
37
|
+
- rvm: 2.4.1
|
38
|
+
gemfile: gemfiles/Gemfile.rails-4.0
|
39
|
+
- rvm: 2.4.1
|
40
|
+
gemfile: gemfiles/Gemfile.rails-4.1
|
41
|
+
- rvm: 2.4.1
|
42
|
+
gemfile: gemfiles/Gemfile.rails-4.2
|
34
43
|
- rvm: ruby-head
|
35
44
|
gemfile: gemfiles/Gemfile.rails-3.2
|
45
|
+
- rvm: ruby-head
|
46
|
+
gemfile: gemfiles/Gemfile.rails-4.0
|
47
|
+
- rvm: ruby-head
|
48
|
+
gemfile: gemfiles/Gemfile.rails-4.1
|
49
|
+
- rvm: ruby-head
|
50
|
+
gemfile: gemfiles/Gemfile.rails-4.2
|
36
51
|
allow_failures:
|
37
52
|
- rvm: ruby-head
|
data/gemfiles/Gemfile.rails-4.0
CHANGED
data/gemfiles/Gemfile.rails-4.1
CHANGED
data/gemfiles/Gemfile.rails-4.2
CHANGED
@@ -15,7 +15,7 @@ module Html5Validators
|
|
15
15
|
module PresenceValidator
|
16
16
|
def render
|
17
17
|
if object.class.ancestors.include?(ActiveModel::Validations) && (object.auto_html5_validation != false) && (object.class.auto_html5_validation != false)
|
18
|
-
@options["required"] ||= @options
|
18
|
+
@options["required"] ||= @options.fetch(:required) { object.class.attribute_required?(@method_name) }
|
19
19
|
end
|
20
20
|
super
|
21
21
|
end
|
data/test/fake_app.rb
CHANGED
@@ -18,12 +18,14 @@ app.routes.draw do
|
|
18
18
|
collection do
|
19
19
|
get :new_without_html5_validation
|
20
20
|
get :new_with_required_true
|
21
|
+
get :new_with_required_false
|
21
22
|
end
|
22
23
|
end
|
23
24
|
resources :items, only: [:new, :create] do
|
24
25
|
collection do
|
25
26
|
get :new_without_html5_validation
|
26
27
|
get :new_with_required_true
|
28
|
+
get :new_with_required_false
|
27
29
|
end
|
28
30
|
end
|
29
31
|
end
|
@@ -74,6 +76,15 @@ ERB
|
|
74
76
|
render inline: <<-ERB
|
75
77
|
<%= form_for @person do |f| %>
|
76
78
|
<%= f.text_field :email, required: true %>
|
79
|
+
<% end %>
|
80
|
+
ERB
|
81
|
+
end
|
82
|
+
|
83
|
+
def new_with_required_false
|
84
|
+
@person = Person.new
|
85
|
+
render inline: <<-ERB
|
86
|
+
<%= form_for @person do |f| %>
|
87
|
+
<%= f.text_field :email, required: false %>
|
77
88
|
<% end %>
|
78
89
|
ERB
|
79
90
|
end
|
@@ -104,6 +115,15 @@ ERB
|
|
104
115
|
render inline: <<-ERB
|
105
116
|
<%= form_for @item do |f| %>
|
106
117
|
<%= f.text_field :name, required: true %>
|
118
|
+
<% end %>
|
119
|
+
ERB
|
120
|
+
end
|
121
|
+
|
122
|
+
def new_with_required_false
|
123
|
+
@item = Item.new
|
124
|
+
render inline: <<-ERB
|
125
|
+
<%= form_for @item do |f| %>
|
126
|
+
<%= f.text_field :name, required: false %>
|
107
127
|
<% end %>
|
108
128
|
ERB
|
109
129
|
end
|
@@ -113,7 +133,7 @@ end
|
|
113
133
|
module ApplicationHelper; end
|
114
134
|
|
115
135
|
#migrations
|
116
|
-
class CreateAllTables < ActiveRecord::Migration
|
136
|
+
class CreateAllTables < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
|
117
137
|
def self.up
|
118
138
|
create_table :people do |t|
|
119
139
|
t.string :name
|
@@ -39,7 +39,11 @@ class ActiveRecordValidationTest < ActionDispatch::IntegrationTest
|
|
39
39
|
|
40
40
|
assert_equal 'required', find('input#person_email')[:required]
|
41
41
|
end
|
42
|
+
test 'new_with_required_false form' do
|
43
|
+
visit '/people/new_with_required_false'
|
42
44
|
|
45
|
+
assert_nil find('input#person_email')[:required]
|
46
|
+
end
|
43
47
|
sub_test_case 'disabling html5_validation in class level' do
|
44
48
|
setup do
|
45
49
|
Person.class_eval do |kls|
|
@@ -141,7 +145,11 @@ class ActiveModelValidationTest < ActionDispatch::IntegrationTest
|
|
141
145
|
|
142
146
|
assert_equal 'required', find('input#item_name')[:required]
|
143
147
|
end
|
148
|
+
test 'new_with_required_false form' do
|
149
|
+
visit '/items/new_with_required_false'
|
144
150
|
|
151
|
+
assert_nil find('input#item_name')[:required]
|
152
|
+
end
|
145
153
|
sub_test_case 'disabling html5_validation in class level' do
|
146
154
|
setup do
|
147
155
|
Item.class_eval do |kls|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html5_validators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akira Matsuda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit-rails
|
@@ -75,7 +75,6 @@ extensions: []
|
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
77
|
- ".gitignore"
|
78
|
-
- ".rspec"
|
79
78
|
- ".travis.yml"
|
80
79
|
- Gemfile
|
81
80
|
- MIT-LICENSE
|
@@ -119,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
118
|
version: '0'
|
120
119
|
requirements: []
|
121
120
|
rubyforge_project: html5_validators
|
122
|
-
rubygems_version: 2.6.
|
121
|
+
rubygems_version: 2.6.11
|
123
122
|
signing_key:
|
124
123
|
specification_version: 4
|
125
124
|
summary: Automatic client side validation using HTML5 Form Validation
|
data/.rspec
DELETED