midas-g_live_validator 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,16 +1,21 @@
1
- == 1.0.4 2009-06-03
1
+ == 1.0.6 2009-06-18
2
2
 
3
- * Added the g_live_dynamic_validations view helper that works with dynamic validations gem
3
+ * Added code so that client side JavaScript does not add validations with if or except options.
4
+
5
+
6
+ == 1.0.5 2009-06-03
7
+
8
+ * Added the g_live_dynamic_validations view helper that works with dynamic validations gem.
4
9
 
5
10
 
6
11
  == 1.0.4 2009-04-03
7
12
 
8
- * Added support for InacvtiveRecord (http://github.com/midas/inactive_record/tree/master) validations
13
+ * Added support for InacvtiveRecord (http://github.com/midas/inactive_record/tree/master) validations.
9
14
 
10
15
 
11
16
  == 1.0.3
12
17
 
13
- * Updated JavaScript to keep a collection LiveValidation objects indexed by field name accessible in th g namespace
18
+ * Updated JavaScript to keep a collection LiveValidation objects indexed by field name accessible in the g namespace.
14
19
 
15
20
 
16
21
  == 1.0.1
@@ -19,4 +24,4 @@
19
24
 
20
25
  == 0.0.1 2009-03-09
21
26
 
22
- * Initial release
27
+ * Initial release.
data/README.rdoc CHANGED
@@ -17,7 +17,7 @@ valdiations.
17
17
  * Declare validations once in ActiveRecord model's. If JavaScript is enabled, the validation will happen live. Otherwise,
18
18
  the validation will happen normally, with a submission to the server.
19
19
  * The error message defined in the validation macro will be used in live validation
20
- * The following ActiveRecrod validations are currently implemented and working: validates_presence_of (:message),
20
+ * The following ActiveRecord validations are currently implemented and working: validates_presence_of (:message),
21
21
  validates_numericality_of (:less_than, :less_than_or_equal_to, :equal_to, :greater_than, :greater_then_or_equal_to,
22
22
  :only_integer, :notANumberMessage, :notAnIntegerMessage, :wrongNumberMessage, :tooLowMessage, :tooHighMessage),
23
23
  validates_length_of / validates_size_of (:maximum, :minimum, :is, :within, :in, :too_long, :too_short, :wrong_length),
@@ -46,6 +46,11 @@ Make a call to the view_helper within a form:
46
46
 
47
47
  <%= g_live_validator f %> # where f is the form variable passed into the form_for block
48
48
 
49
+ To use with a library like midas-dynamic_Validations, that does not use ActiveRecord validations, but some other method of
50
+ defining validations:
51
+
52
+ <%= g_live_dynamic_validator f, @validation_definitions %>
53
+
49
54
 
50
55
  == OPTIONS:
51
56
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{g_live_validator}
5
- s.version = "1.0.5"
5
+ s.version = "1.0.6"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["C. Jason Harrelson (midas)"]
9
- s.date = %q{2009-06-03}
9
+ s.date = %q{2009-06-18}
10
10
  s.description = %q{Live validator is a Rails Guilded (http://github.com/midas/guilded/tree/master) component that will reflect ActiveRecord validations and use them to live validate forms. Live validator uses the Live Validation (http://www.livevalidation.com) JavaScript library to accomplish this task. It also uses an ActiveRecord extension authored by Michael Schuerig to mre easily reflect on the ActiveRecord valdiations.}
11
11
  s.email = ["jason@lookforwardenterprises.com"]
12
12
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc"]
@@ -6,7 +6,7 @@ require 'g_live_validator/validation_definition'
6
6
  require 'g_live_validator/active_record_extensions'
7
7
 
8
8
  module GLiveValidator
9
- VERSION = '1.0.5'
9
+ VERSION = '1.0.6'
10
10
  end
11
11
 
12
12
  if defined?( ActiveRecord::Base )
@@ -28,10 +28,10 @@ module GLiveValidator
28
28
  # validates_exclusion_of - :message
29
29
  #
30
30
  # If you need to do custom initialization you can implement g.beforeLiveValidatorInit() or
31
- # g.afterLiveValidatorInit().
31
+ # g.afterLiveValidatorInit() in the client side JavaScript environment.
32
32
  #
33
33
  # If you need custom handling of valid or invalid fields, you can implement g.liveValidatorInvalidField()
34
- # or g. liveValidatorValidField().
34
+ # or g.liveValidatorValidField() in the client side JavaScript environment.
35
35
  #
36
36
  # *parameters*
37
37
  # form:: The form object from the form_for helper.
@@ -58,6 +58,26 @@ module GLiveValidator
58
58
  return ""
59
59
  end
60
60
 
61
+ # Guilded component. The live dynamic validator accepts an array of ValidationDefinition objects and
62
+ # sets up the live validations accordingly. This makes the live dynamic validator usable with the
63
+ # midas-dynamic_validations gem and possibly other validations that can be standardized through the
64
+ # ValidationDefinition object.
65
+ #
66
+ # The same validations that are supported by the g_live_validator are also supported.
67
+ #
68
+ # If you need to do custom initialization you can implement g.beforeLiveValidatorInit() or
69
+ # g.afterLiveValidatorInit() in the client side JavaScript environment.
70
+ #
71
+ # If you need custom handling of valid or invalid fields, you can implement g.liveValidatorInvalidField()
72
+ # or g.liveValidatorValidField() in the client side JavaScript environment.
73
+ #
74
+ # *parameters*
75
+ # form:: The form object from the form_for helper.
76
+ #
77
+ # *options*
78
+ # id:: (required)
79
+ # except:: List of fields to not include. A string, symbol or array of strings or symbols.
80
+ #
61
81
  def g_live_dynamic_validator( form, validation_rules, *args )
62
82
  options = args.extract_options!
63
83
  klass = form.object.class
@@ -7,6 +7,7 @@ g.liveValidations = []; /* The collection of live validation objects */
7
7
 
8
8
  g.doInvalidField = function()
9
9
  {
10
+ // If the invalid field method is implemented
10
11
  if( g.liveValidatorInvalidField )
11
12
  {
12
13
  g.liveValidatorInvalidField( this );
@@ -20,6 +21,7 @@ g.doInvalidField = function()
20
21
 
21
22
  g.doValidField = function()
22
23
  {
24
+ // If the valid field method is implemented
23
25
  if( g.liveValidatorValidField )
24
26
  g.liveValidatorValidField( this );
25
27
  else
@@ -73,7 +75,11 @@ g.liveValidatorInit = function( options )
73
75
  for( var i=0; i<vList.length; i++ )
74
76
  {
75
77
  var validation = vList[i];
76
- v.add( validationMethods[ validation.name ], validation.args );
78
+ if( validation.args == null || ( validation.args['if'] == null && validation.args['except'] == null ) )
79
+ {
80
+ v.add( validationMethods[ validation.name ], validation.args );
81
+ }
82
+
77
83
  g.liveValidationsByField[field] = v;
78
84
  g.liveValidations.push( v );
79
85
  }
@@ -1,18 +1,4 @@
1
1
  /* Guilded Live Validator 1.0.1
2
2
  * Copyright (c) 2009 C. Jason Harrelson (midas)
3
3
  * Guilded Live Validator is licensed under the terms of the MIT License */
4
- g.doInvalidField=function()
5
- {if(g.liveValidatorInvalidField)
6
- {g.liveValidatorInvalidField(this);}
7
- else
8
- {this.insertMessage(this.createMessageSpan());this.addFieldClass();}};g.doValidField=function()
9
- {if(g.liveValidatorValidField)
10
- g.liveValidatorValidField(this);else
11
- {this.insertMessage(this.createMessageSpan());this.addFieldClass();}};g.liveValidatorInit=function(options)
12
- {if(g.beforeLiveValidatorInit)
13
- g.beforeLiveValidatorInit(options);var moreValidationMethods={presence:Validate.Presence,numericality:Validate.Numericality,format:Validate.Format,length:Validate.Length,acceptance:Validate.Acceptance,confirmation:Validate.Confirmation};var validationMethods={validates_presence_of:Validate.Presence,validates_numericality_of:Validate.Numericality,validates_format_of:Validate.Format,validates_length_of:Validate.Length,validates_size_of:Validate.Length,validates_acceptance_of:Validate.Acceptance,validates_confirmation_of:Validate.Confirmation,validates_inclusion_of:Validate.Inclusion,validates_exclusion_of:Validate.Exclusion};var validations=options['validations'];for(field in validations)
14
- {fieldEl=$j('#'+field);if(fieldEl.length==0)
15
- continue;var vList=validations[field];var v=null;v=new LiveValidation(field,{onlyOnBlur:true,onInvalid:g.doInvalidField,onValid:g.doValidField});for(var i=0;i<vList.length;i++)
16
- {var validation=vList[i];v.add(validationMethods[validation.name],validation.args);}}
17
- if(g.afterLiveValidatorInit)
18
- g.afterLiveValidatorInit(options);};
4
+ g.liveValidationsByField={};g.liveValidations=[];g.doInvalidField=function(){if(g.liveValidatorInvalidField){g.liveValidatorInvalidField(this)}else{this.insertMessage(this.createMessageSpan());this.addFieldClass()}};g.doValidField=function(){if(g.liveValidatorValidField)g.liveValidatorValidField(this);else{this.insertMessage(this.createMessageSpan());this.addFieldClass()}};g.liveValidatorInit=function(options){if(g.beforeLiveValidatorInit)g.beforeLiveValidatorInit(options);var moreValidationMethods={presence:Validate.Presence,numericality:Validate.Numericality,format:Validate.Format,length:Validate.Length,acceptance:Validate.Acceptance,confirmation:Validate.Confirmation};var validationMethods={validates_presence_of:Validate.Presence,validates_numericality_of:Validate.Numericality,validates_format_of:Validate.Format,validates_length_of:Validate.Length,validates_size_of:Validate.Length,validates_acceptance_of:Validate.Acceptance,validates_confirmation_of:Validate.Confirmation,validates_inclusion_of:Validate.Inclusion,validates_exclusion_of:Validate.Exclusion};var validations=options['validations'];for(field in validations){fieldEl=$j('#'+field);if(fieldEl.length==0)continue;var vList=validations[field];var v=null;v=new LiveValidation(field,{onlyOnBlur:true,onInvalid:g.doInvalidField,onValid:g.doValidField});for(var i=0;i<vList.length;i++){var validation=vList[i];if(validation.args==null||(validation.args['if']==null&&validation.args['except']==null)){v.add(validationMethods[validation.name],validation.args)}g.liveValidationsByField[field]=v;g.liveValidations.push(v)}}if(g.afterLiveValidatorInit)g.afterLiveValidatorInit(options)};
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midas-g_live_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - C. Jason Harrelson (midas)
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-03 00:00:00 -07:00
12
+ date: 2009-06-18 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency