Method: AntiSamy::CssValidator#validate_value

Defined in:
lib/antisamy/css/css_validator.rb

#validate_value(property, value) ⇒ Object

is this a valid property value



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/antisamy/css/css_validator.rb', line 103

def validate_value(property,value) #:nodoc:

  valid = false
  # Check static strings

  property.values.each do |al_val|
    valid = true if al_val.downcase.eql?(value.downcase)
  end
  # Check regular expressions

  unless valid
    property.expressions.each do |xp_val|
      valid = true if value =~ xp_value
    end
  end
  # check short hand

  unless valid
    property.refs.each do |ref|
      real = @policy.property(ref)
      if real
        valid = validate_value(real,value)
      end
    end
  end
  # We will check media above.

  return valid
end