sinatra-params-validator 0.0.3 → 0.0.4
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.
- data/README.md +21 -0
- data/VERSION +1 -1
- data/lib/rack/validator/sinatra.rb +13 -13
- metadata +1 -1
data/README.md
CHANGED
|
@@ -84,6 +84,27 @@ __NOTE__ Every parameter that is used for that particular request needs to be me
|
|
|
84
84
|
array. Every parameter that hasn't been mentioned will be delete and won't be available in the sinatra
|
|
85
85
|
`params` variable when your sinatra code block is invoked.
|
|
86
86
|
|
|
87
|
+
## Error Messages
|
|
88
|
+
|
|
89
|
+
Once an error occurs during validation, all the errors are kept in 3 environmental variables `@env['validator.messages']`,
|
|
90
|
+
`@env['validator.invalid']` and `@env['validator.missing']`. All 3 variables are arrays. Check them out
|
|
91
|
+
|
|
92
|
+
Error Format inside the 'validator.messages' variable looks something like this:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
{
|
|
96
|
+
:name => "private", :error => :NOT_BOOLEAN
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
or
|
|
100
|
+
|
|
101
|
+
{
|
|
102
|
+
:name => "age", :error => :NOT_IN_RANGE, :value => [ 0, 120 ]
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
You can catch these errors and warp them around your own custom responses.
|
|
107
|
+
|
|
87
108
|
## Validator class
|
|
88
109
|
|
|
89
110
|
A class with several methods to validate and clean data from sinatra params holder.
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.4
|
|
@@ -36,7 +36,7 @@ module Rack
|
|
|
36
36
|
unless @params.has_key?(k) && !@params[k].empty?
|
|
37
37
|
@invalid_params.push(k)
|
|
38
38
|
@missing_params.push(k)
|
|
39
|
-
@messages.push(
|
|
39
|
+
@messages.push(:name => k, :error => :REQUIRED)
|
|
40
40
|
end
|
|
41
41
|
}
|
|
42
42
|
end
|
|
@@ -48,7 +48,7 @@ module Rack
|
|
|
48
48
|
value = @params[key]
|
|
49
49
|
unless is_valid_integer(value)
|
|
50
50
|
@invalid_params.push(key)
|
|
51
|
-
@messages.push(
|
|
51
|
+
@messages.push(:name => key, :error => :NOT_INTEGER)
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
end
|
|
@@ -59,7 +59,7 @@ module Rack
|
|
|
59
59
|
value = @params[key]
|
|
60
60
|
unless is_valid_float(value)
|
|
61
61
|
@invalid_params.push(key)
|
|
62
|
-
@messages.push(
|
|
62
|
+
@messages.push(:name => key, :error => :NOT_FLOAT)
|
|
63
63
|
end
|
|
64
64
|
end
|
|
65
65
|
end
|
|
@@ -70,13 +70,13 @@ module Rack
|
|
|
70
70
|
if !is_valid_float(@params[key])
|
|
71
71
|
if !@params[key] || @params[key].length < min
|
|
72
72
|
@invalid_params.push(key)
|
|
73
|
-
@messages.push(
|
|
73
|
+
@messages.push(:name => key, :error => :LESS_THAN, :value => min)
|
|
74
74
|
end
|
|
75
75
|
else
|
|
76
76
|
value = is_valid_integer(@params[key]) ? @params[key].to_i : @params[key].to_f
|
|
77
77
|
if !value || value < min
|
|
78
78
|
@invalid_params.push(key)
|
|
79
|
-
@messages.push(
|
|
79
|
+
@messages.push(:name => key, :error => :LESS_THAN, :value => min)
|
|
80
80
|
end
|
|
81
81
|
end
|
|
82
82
|
end
|
|
@@ -88,13 +88,13 @@ module Rack
|
|
|
88
88
|
unless is_valid_float(@params[key])
|
|
89
89
|
if !@params[key] || @params[key].length < min || @params[key].length > max
|
|
90
90
|
@invalid_params.push(key)
|
|
91
|
-
@messages.push(
|
|
91
|
+
@messages.push(:name => key, :error => :NOT_IN_RANGE, :value => [ min, max ])
|
|
92
92
|
end
|
|
93
93
|
else
|
|
94
94
|
value = is_valid_integer(@params[key]) ? @params[key].to_i : @params[key].to_f
|
|
95
95
|
if !value || value < min || value > max
|
|
96
96
|
@invalid_params.push(key)
|
|
97
|
-
@messages.push(
|
|
97
|
+
@messages.push(:name => key, :error => :NOT_IN_RANGE, :value => [ min, max ])
|
|
98
98
|
end
|
|
99
99
|
end
|
|
100
100
|
end
|
|
@@ -106,13 +106,13 @@ module Rack
|
|
|
106
106
|
unless is_valid_float(@params[key])
|
|
107
107
|
if !@params[key] || @params[key].length > max
|
|
108
108
|
@invalid_params.push(key)
|
|
109
|
-
@messages.push(
|
|
109
|
+
@messages.push(:name => key, :error => :GREATER_THAN, :value => max)
|
|
110
110
|
end
|
|
111
111
|
else
|
|
112
112
|
value = is_valid_integer(@params[key]) ? @params[key].to_i : @params[key].to_f
|
|
113
113
|
if !value || value > max
|
|
114
114
|
@invalid_params.push(key)
|
|
115
|
-
@messages.push(
|
|
115
|
+
@messages.push(:name => key, :error => :GREATER_THAN, :value => max)
|
|
116
116
|
end
|
|
117
117
|
end
|
|
118
118
|
end
|
|
@@ -123,7 +123,7 @@ module Rack
|
|
|
123
123
|
key = key.to_s
|
|
124
124
|
unless @params[key].to_s[/^\S+@\S+\.\S+$/]
|
|
125
125
|
@invalid_params.push(key)
|
|
126
|
-
@messages.push(
|
|
126
|
+
@messages.push(:name => key, :error => :NOT_VALID_EMAIL)
|
|
127
127
|
end
|
|
128
128
|
end
|
|
129
129
|
end
|
|
@@ -133,7 +133,7 @@ module Rack
|
|
|
133
133
|
key = key.to_s
|
|
134
134
|
unless array.include? @params[key]
|
|
135
135
|
@invalid_params.push(key)
|
|
136
|
-
@messages.push(
|
|
136
|
+
@messages.push(:name => key, :error => :NOT_IN_SET, :value => array)
|
|
137
137
|
end
|
|
138
138
|
end
|
|
139
139
|
end
|
|
@@ -143,7 +143,7 @@ module Rack
|
|
|
143
143
|
key = key.to_s
|
|
144
144
|
unless @params[key] == 'true' || @params[key] == 'false'
|
|
145
145
|
@invalid_params.push(key)
|
|
146
|
-
@messages.push(
|
|
146
|
+
@messages.push(:name => key, :error => :NOT_BOOLEAN)
|
|
147
147
|
end
|
|
148
148
|
end
|
|
149
149
|
end
|
|
@@ -153,7 +153,7 @@ module Rack
|
|
|
153
153
|
key = key.to_s
|
|
154
154
|
unless @params[key] =~ regexp
|
|
155
155
|
@invalid_params.push(key)
|
|
156
|
-
@messages.push(
|
|
156
|
+
@messages.push(:name => key, :error => :NOT_MATCHED, :value => regexp)
|
|
157
157
|
end
|
|
158
158
|
end
|
|
159
159
|
end
|