client_side_validations 3.0.4 → 3.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/client_side_validations.gemspec +2 -3
- data/javascript/rails.validations.js +26 -12
- data/lib/client_side_validations.rb +2 -0
- data/lib/client_side_validations/action_view/form_builder.rb +55 -5
- data/lib/client_side_validations/action_view/form_helper.rb +20 -2
- data/lib/client_side_validations/active_model.rb +22 -13
- data/lib/client_side_validations/active_model/length.rb +12 -10
- data/lib/client_side_validations/active_model/numericality.rb +14 -9
- data/lib/client_side_validations/active_record/middleware.rb +5 -1
- data/lib/client_side_validations/active_record/uniqueness.rb +10 -8
- data/lib/client_side_validations/middleware.rb +2 -0
- data/lib/client_side_validations/mongo_mapper.rb +9 -0
- data/lib/client_side_validations/mongo_mapper/middleware.rb +20 -0
- data/lib/client_side_validations/mongo_mapper/uniqueness.rb +28 -0
- data/lib/client_side_validations/mongoid/uniqueness.rb +10 -8
- data/lib/client_side_validations/version.rb +1 -1
- data/test/action_view/cases/helper.rb +7 -1
- data/test/action_view/cases/test_helpers.rb +263 -0
- data/test/action_view/cases/test_legacy_helpers.rb +11 -0
- data/test/active_model/cases/test_validations.rb +21 -8
- data/test/active_record/cases/test_middleware.rb +25 -0
- data/test/active_record/cases/test_uniqueness_validator.rb +5 -0
- data/test/active_record/models/user.rb +4 -0
- data/test/formtastic/cases/test_form_helper.rb +1 -1
- data/test/javascript/public/test/callbacks/elementAfter.js +1 -1
- data/test/javascript/public/test/callbacks/elementBefore.js +1 -1
- data/test/javascript/public/test/callbacks/elementFail.js +1 -1
- data/test/javascript/public/test/callbacks/elementPass.js +1 -1
- data/test/javascript/public/test/callbacks/formAfter.js +1 -1
- data/test/javascript/public/test/callbacks/formBefore.js +1 -1
- data/test/javascript/public/test/callbacks/formFail.js +1 -1
- data/test/javascript/public/test/callbacks/formPass.js +1 -1
- data/test/javascript/public/test/form_builders/validateForm.js +1 -1
- data/test/javascript/public/test/form_builders/validateFormtastic.js +1 -1
- data/test/javascript/public/test/form_builders/validateNestedForm.js +66 -0
- data/test/javascript/public/test/form_builders/validateSimpleForm.js +1 -1
- data/test/javascript/public/test/validateElement.js +36 -1
- data/test/javascript/public/test/validators/length.js +7 -1
- data/test/javascript/public/test/validators/numericality.js +7 -0
- data/test/javascript/public/test/validators/presence.js +6 -0
- data/test/javascript/public/test/validators/uniqueness.js +8 -1
- data/test/javascript/server.rb +7 -1
- data/test/javascript/views/index.erb +1 -1
- data/test/mongo_mapper/cases/helper.rb +9 -0
- data/test/mongo_mapper/cases/test_base.rb +15 -0
- data/test/mongo_mapper/cases/test_middleware.rb +77 -0
- data/test/mongo_mapper/cases/test_uniqueness_validator.rb +50 -0
- data/test/mongo_mapper/models/magazine.rb +11 -0
- data/test/mongoid/cases/test_middleware.rb +9 -0
- data/test/mongoid/cases/test_uniqueness_validator.rb +5 -0
- data/test/mongoid/models/book.rb +4 -0
- data/test/simple_form/cases/test_form_helper.rb +1 -1
- metadata +46 -20
@@ -65,4 +65,13 @@ class ClientSideValidationsMongoidMiddlewareTest < Test::Unit::TestCase
|
|
65
65
|
assert_equal 'false', last_response.body
|
66
66
|
assert last_response.ok?
|
67
67
|
end
|
68
|
+
|
69
|
+
def test_uniqueness_when_resource_is_a_nested_module
|
70
|
+
MongoidTestModule::Book2.create(:author_email => 'book@test.com')
|
71
|
+
get '/validators/uniqueness.json', { 'mongoid_test_module/book2[author_email]' => 'book@test.com' }
|
72
|
+
|
73
|
+
assert_equal 'false', last_response.body
|
74
|
+
assert last_response.ok?
|
75
|
+
end
|
68
76
|
end
|
77
|
+
|
@@ -40,5 +40,10 @@ class Mongoid::UniqunessValidatorTest < ClientSideValidations::MongoidTestBase
|
|
40
40
|
assert_equal expected_hash, result_hash
|
41
41
|
end
|
42
42
|
|
43
|
+
def test_uniqueness_client_side_hash_when_nested_module
|
44
|
+
@book = MongoidTestModule::Book2.new
|
45
|
+
expected_hash = { :message => "is already taken", :class => 'mongoid_test_module/book2' }
|
46
|
+
assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name]).client_side_hash(@book, :age)
|
47
|
+
end
|
43
48
|
end
|
44
49
|
|
data/test/mongoid/models/book.rb
CHANGED
@@ -14,7 +14,7 @@ class ClientSideValidations::SimpleForm::FormHelperTest < ActionView::TestCase
|
|
14
14
|
concat f.input(:cost)
|
15
15
|
end
|
16
16
|
|
17
|
-
expected = %{<form accept-charset="UTF-8" action="/posts/123" class="simple_form post" data-validate="true" id="edit_post_123" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="put" /></div><div class="input string required"><label class="string required" for="post_cost"><abbr title="required">*</abbr> Cost</label><input class="string required" data-validate="true" id="post_cost" name="post[cost]" required="required" size="50" type="text" /></div></form><script>
|
17
|
+
expected = %{<form accept-charset="UTF-8" action="/posts/123" class="simple_form post" data-validate="true" id="edit_post_123" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="put" /></div><div class="input string required"><label class="string required" for="post_cost"><abbr title="required">*</abbr> Cost</label><input class="string required" data-validate="true" id="post_cost" name="post[cost]" required="required" size="50" type="text" /></div></form><script>window['edit_post_123'] = {"type":"SimpleForm::FormBuilder","error_class":"error","error_tag":"span","wrapper_error_class":"field_with_errors","wrapper_tag":"div","validators":{"post[cost]":{"presence":{"message":"can't be blank"}}}};</script>}
|
18
18
|
assert_equal expected, output_buffer, "\n\n *** If you're running Ruby 1.8 and this test fails is is most likely due to 1.8's lack of insertion order persistence with Hashes ***\n"
|
19
19
|
end
|
20
20
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: client_side_validations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 3.0.
|
5
|
+
version: 3.0.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Brian Cardarella
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-06-06 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -19,9 +19,9 @@ dependencies:
|
|
19
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
|
-
- -
|
22
|
+
- - ">="
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version:
|
24
|
+
version: "0"
|
25
25
|
type: :runtime
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -69,18 +69,18 @@ dependencies:
|
|
69
69
|
type: :development
|
70
70
|
version_requirements: *id005
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
72
|
+
name: mongo_mapper
|
73
73
|
prerelease: false
|
74
74
|
requirement: &id006 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
|
-
- -
|
77
|
+
- - ~>
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
79
|
+
version: 0.9.0
|
80
80
|
type: :development
|
81
81
|
version_requirements: *id006
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
|
-
name:
|
83
|
+
name: mocha
|
84
84
|
prerelease: false
|
85
85
|
requirement: &id007 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
@@ -91,7 +91,7 @@ dependencies:
|
|
91
91
|
type: :development
|
92
92
|
version_requirements: *id007
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
|
-
name:
|
94
|
+
name: simple_form
|
95
95
|
prerelease: false
|
96
96
|
requirement: &id008 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
@@ -102,29 +102,29 @@ dependencies:
|
|
102
102
|
type: :development
|
103
103
|
version_requirements: *id008
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
105
|
+
name: formtastic
|
106
106
|
prerelease: false
|
107
107
|
requirement: &id009 !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
110
|
-
- -
|
110
|
+
- - ">="
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: "
|
112
|
+
version: "0"
|
113
113
|
type: :development
|
114
114
|
version_requirements: *id009
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
116
|
+
name: sinatra
|
117
117
|
prerelease: false
|
118
118
|
requirement: &id010 !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|
121
|
-
- -
|
121
|
+
- - ~>
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: "0"
|
123
|
+
version: "1.0"
|
124
124
|
type: :development
|
125
125
|
version_requirements: *id010
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
127
|
+
name: shotgun
|
128
128
|
prerelease: false
|
129
129
|
requirement: &id011 !ruby/object:Gem::Requirement
|
130
130
|
none: false
|
@@ -135,7 +135,7 @@ dependencies:
|
|
135
135
|
type: :development
|
136
136
|
version_requirements: *id011
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
|
-
name:
|
138
|
+
name: thin
|
139
139
|
prerelease: false
|
140
140
|
requirement: &id012 !ruby/object:Gem::Requirement
|
141
141
|
none: false
|
@@ -146,7 +146,7 @@ dependencies:
|
|
146
146
|
type: :development
|
147
147
|
version_requirements: *id012
|
148
148
|
- !ruby/object:Gem::Dependency
|
149
|
-
name:
|
149
|
+
name: json
|
150
150
|
prerelease: false
|
151
151
|
requirement: &id013 !ruby/object:Gem::Requirement
|
152
152
|
none: false
|
@@ -156,6 +156,17 @@ dependencies:
|
|
156
156
|
version: "0"
|
157
157
|
type: :development
|
158
158
|
version_requirements: *id013
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: ruby-debug19
|
161
|
+
prerelease: false
|
162
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: "0"
|
168
|
+
type: :development
|
169
|
+
version_requirements: *id014
|
159
170
|
description: Client Side Validations
|
160
171
|
email:
|
161
172
|
- bcardarella@gmail.com
|
@@ -189,6 +200,9 @@ files:
|
|
189
200
|
- lib/client_side_validations/core_ext/regexp.rb
|
190
201
|
- lib/client_side_validations/formtastic.rb
|
191
202
|
- lib/client_side_validations/middleware.rb
|
203
|
+
- lib/client_side_validations/mongo_mapper.rb
|
204
|
+
- lib/client_side_validations/mongo_mapper/middleware.rb
|
205
|
+
- lib/client_side_validations/mongo_mapper/uniqueness.rb
|
192
206
|
- lib/client_side_validations/mongoid.rb
|
193
207
|
- lib/client_side_validations/mongoid/middleware.rb
|
194
208
|
- lib/client_side_validations/mongoid/uniqueness.rb
|
@@ -238,6 +252,7 @@ files:
|
|
238
252
|
- test/javascript/public/test/callbacks/formPass.js
|
239
253
|
- test/javascript/public/test/form_builders/validateForm.js
|
240
254
|
- test/javascript/public/test/form_builders/validateFormtastic.js
|
255
|
+
- test/javascript/public/test/form_builders/validateNestedForm.js
|
241
256
|
- test/javascript/public/test/form_builders/validateSimpleForm.js
|
242
257
|
- test/javascript/public/test/settings.js
|
243
258
|
- test/javascript/public/test/validateElement.js
|
@@ -258,6 +273,11 @@ files:
|
|
258
273
|
- test/javascript/views/layout.erb
|
259
274
|
- test/middleware/cases/helper.rb
|
260
275
|
- test/middleware/cases/test_middleware.rb
|
276
|
+
- test/mongo_mapper/cases/helper.rb
|
277
|
+
- test/mongo_mapper/cases/test_base.rb
|
278
|
+
- test/mongo_mapper/cases/test_middleware.rb
|
279
|
+
- test/mongo_mapper/cases/test_uniqueness_validator.rb
|
280
|
+
- test/mongo_mapper/models/magazine.rb
|
261
281
|
- test/mongoid/cases/helper.rb
|
262
282
|
- test/mongoid/cases/test_base.rb
|
263
283
|
- test/mongoid/cases/test_middleware.rb
|
@@ -289,8 +309,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
289
309
|
version: "0"
|
290
310
|
requirements: []
|
291
311
|
|
292
|
-
rubyforge_project:
|
293
|
-
rubygems_version: 1.
|
312
|
+
rubyforge_project:
|
313
|
+
rubygems_version: 1.3.8
|
294
314
|
signing_key:
|
295
315
|
specification_version: 3
|
296
316
|
summary: Client Side Validations
|
@@ -336,6 +356,7 @@ test_files:
|
|
336
356
|
- test/javascript/public/test/callbacks/formPass.js
|
337
357
|
- test/javascript/public/test/form_builders/validateForm.js
|
338
358
|
- test/javascript/public/test/form_builders/validateFormtastic.js
|
359
|
+
- test/javascript/public/test/form_builders/validateNestedForm.js
|
339
360
|
- test/javascript/public/test/form_builders/validateSimpleForm.js
|
340
361
|
- test/javascript/public/test/settings.js
|
341
362
|
- test/javascript/public/test/validateElement.js
|
@@ -356,6 +377,11 @@ test_files:
|
|
356
377
|
- test/javascript/views/layout.erb
|
357
378
|
- test/middleware/cases/helper.rb
|
358
379
|
- test/middleware/cases/test_middleware.rb
|
380
|
+
- test/mongo_mapper/cases/helper.rb
|
381
|
+
- test/mongo_mapper/cases/test_base.rb
|
382
|
+
- test/mongo_mapper/cases/test_middleware.rb
|
383
|
+
- test/mongo_mapper/cases/test_uniqueness_validator.rb
|
384
|
+
- test/mongo_mapper/models/magazine.rb
|
359
385
|
- test/mongoid/cases/helper.rb
|
360
386
|
- test/mongoid/cases/test_base.rb
|
361
387
|
- test/mongoid/cases/test_middleware.rb
|