def apply_regexp_constraint(key, constraint)
if Array(@form[key]).length > 1
index = 0
Array(@form[key]).each do |value|
m = constraint.match(@form[key][index].to_s)
if m
if untaint?(key)
@form[key][index] = m[0]
@form[key][index].untaint
end
else
@form[key].delete_at(index)
@invalid_fields[key] ||= []
unless @invalid_fields[key].include?(constraint.inspect)
@invalid_fields[key].push(constraint.inspect)
end
nil
end
index += 1
end
else
m = constraint.match(@form[key].to_s)
if m
if untaint?(key)
@form[key] = m[0]
@form[key].untaint
end
else
@form.delete(key)
@invalid_fields[key] ||= []
unless @invalid_fields[key].include?(constraint.inspect)
@invalid_fields[key].push(constraint.inspect)
end
nil
end
end
end