sinatra-params-validator 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|