html5_validators 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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