- def candidatelist=(candstring='')
- @raw_candidates = candstring.split(';').collect {|cand| cand.strip }
- end
+ @candidate_names.each do |c|
+ unless c.instance_of? String
+ errors.add(nil, "Candidates must be strings")
+ next
+ end
+ c.strip!
+ if c.length == 0
+ errors.add(nil, "Candidate name must not be empty")
+ next
+ end
+ end if @candidate_names
+
+ if @candidate_names and @candidate_names.uniq!
+ errors.add(nil, "Candidates must all be unique")
+ end
+
+ if name =~ /[^A-Za-z0-9]/
+ errors.add(:name, "must only include numbers and letters.")
+ end
+ if name =~ /^[0-9]+$/
+ errors.add(:name, "must not be a number")
+ end
+
+ if name =~ /^(create|index|confirm|change|results)$/
+ errors.add(:name, " is a reserved word.")
+ end