As above, I think this location is a bit late in the process lifecycle to be doing validation of the setting.  Please move the validation behavior into a hook inside of defaults.rb as per https://github.com/puppetlabs/puppet/blob/3.1.0/lib/puppet/defaults.rb#L385