html5_validators 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Akira Matsuda
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc CHANGED
@@ -10,7 +10,7 @@ html5_validators is a gem/plugin for Rails 3 that enables client-side validation
10
10
 
11
11
  == Features
12
12
 
13
- * PresenceValidator => requried
13
+ === PresenceValidator => requried
14
14
 
15
15
  Model:
16
16
  class User
@@ -20,6 +20,7 @@ html5_validators is a gem/plugin for Rails 3 that enables client-side validation
20
20
 
21
21
  View:
22
22
  <%= f.text_field :name %>
23
+ other text_fieldish helpers, text_area, radio_button, and check_box are also available
23
24
 
24
25
  HTML:
25
26
  <input id="user_name" name="user[name]" required="required" type="text" />
@@ -27,10 +28,10 @@ html5_validators is a gem/plugin for Rails 3 that enables client-side validation
27
28
  SPEC:
28
29
  http://dev.w3.org/html5/spec/Overview.html#attr-input-required
29
30
 
30
- SCREENSHOT:
31
- http://img.skitch.com/20110516-1kmy7fcuwkq84xihki2udkgh3a.jpg
31
+ SCREENSHOTS:
32
+ http://img.skitch.com/20110517-8sagqrkjnmkinapmcc5tduy2b8.jpg
32
33
 
33
- * LengthValidator => maxlength
34
+ === LengthValidator => maxlength
34
35
 
35
36
  Model:
36
37
  class User
@@ -47,7 +48,7 @@ http://img.skitch.com/20110516-1kmy7fcuwkq84xihki2udkgh3a.jpg
47
48
  SPEC:
48
49
  http://dev.w3.org/html5/spec/Overview.html#attr-input-maxlength
49
50
 
50
- * NumericalityValidator => max, min
51
+ === NumericalityValidator => max, min
51
52
 
52
53
  Model:
53
54
  class User
@@ -103,4 +104,4 @@ When accessed by an HTML5 incompatible lagacy browser, these extra attributes wi
103
104
 
104
105
  == Copyright
105
106
 
106
- Copyright (c) 2011 Asakusa.rb. See LICENSE.txt for further details.
107
+ Copyright (c) 2011 Asakusa.rb. See MIT-LICENSE for further details.
@@ -10,8 +10,31 @@ module ActionView
10
10
  end
11
11
  to_input_field_tag_without_html5_attributes field_type, options
12
12
  end
13
-
14
13
  alias_method_chain :to_input_field_tag, :html5_attributes
14
+
15
+ def to_text_area_tag_with_html5_attributes(options = {})
16
+ if object.class.ancestors.include?(ActiveModel::Validations)
17
+ options["required"] ||= object.class.attribute_required?(method_name)
18
+ end
19
+ to_text_area_tag_without_html5_attributes options
20
+ end
21
+ alias_method_chain :to_text_area_tag, :html5_attributes
22
+
23
+ def to_radio_button_tag_with_html5_attributes(tag_value, options = {})
24
+ if object.class.ancestors.include?(ActiveModel::Validations)
25
+ options["required"] ||= object.class.attribute_required?(method_name)
26
+ end
27
+ to_radio_button_tag_without_html5_attributes tag_value, options
28
+ end
29
+ alias_method_chain :to_radio_button_tag, :html5_attributes
30
+
31
+ def to_check_box_tag_with_html5_attributes(options = {}, checked_value = "1", unchecked_value = "0")
32
+ if object.class.ancestors.include?(ActiveModel::Validations)
33
+ options["required"] ||= object.class.attribute_required?(method_name)
34
+ end
35
+ to_check_box_tag_without_html5_attributes options, checked_value, unchecked_value
36
+ end
37
+ alias_method_chain :to_check_box_tag, :html5_attributes
15
38
  end
16
39
  end
17
40
  end
@@ -12,6 +12,12 @@ module ActiveModel
12
12
 
13
13
  super
14
14
  end
15
+
16
+ def validate_each_with_default_tokenizer(record, attribute, value)
17
+ @options = (options || {}).reverse_merge(:tokenizer => DEFAULT_TOKENIZER).freeze
18
+ validate_each_without_default_tokenizer record, attribute, value
19
+ end
20
+ alias_method_chain :validate_each, :default_tokenizer
15
21
  end
16
22
 
17
23
  class NumericalityValidator
@@ -1,3 +1,3 @@
1
1
  module Html5Validators
2
- VERSION = '0.0.2'
2
+ VERSION = '0.1.0'
3
3
  end
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 2
10
- version: 0.0.2
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Akira Matsuda
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-16 00:00:00 Z
18
+ date: 2011-05-17 00:00:00 Z
19
19
  dependencies: []
20
20
 
21
21
  description: A gem/plugin for Rails 3 that enables client-side validation using ActiveModel + HTML5
@@ -30,6 +30,7 @@ extra_rdoc_files: []
30
30
  files:
31
31
  - .gitignore
32
32
  - Gemfile
33
+ - MIT-LICENSE
33
34
  - README.rdoc
34
35
  - Rakefile
35
36
  - html5_validators.gemspec