Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Allows overriding of Validators in Radiant CMS Models.
branch: master

Radiant Validators

This Radiant CMS extension allows extension developers to easily override the validators built into Radiant's models. This is done by adding a new method to the ActiveRecord class to clear validations, and methods to remove validations based on validator name. All built-in Radiant model validations are cleared and redefined in this extension with names set to allow other extensions to remove them easily.


1: Install the extension files

Automated Installation:
./script/extension install radiant_validators

Manual Installation:
cd ./vendor/extensions
git clone git://

2: Once installed, you need to ensure the application will load this extension first. If it does not, it is possible that another extension will create some custom validators on radiant core models and they will get removed when this extension loads and resets the validators. To do so, edit your config/environment.rb to load Help first: do |config|

    config.extensions = [:radiant_validators, :all]


3: Restart the server


To override a validator, it is pretty straight forward. Take a look at the example below that overrides the Page model slug format validator to allow apostrophes.

1: In your extension lib directory, create an extender file for the model you wish to override (for example, we are overridding the Page model, so we create page_extender.rb) and add the following:

module PageExtender
  def self.included(base)
    base.class_eval {
      # remove the existing validation for slug format
      base.remove_validation :page_slug_format

      # add a new validator with a slightly different regex to allow apostrophes
      validates_format_of :slug, :with => %r{^([-_.A-Za-z0-9']*|/)$}, :message => 'invalid format', :name => :page_slug_format

2: In your main extension file activate method, include your extender on the Page model:

def activate
  Page.send :include, PageExtender

3: Restart the server


To see a list of validator names, take a look in radiant_validators/app/models/*_validation_extender.rb files.

custom validator functions (defined with 'validate :function_name') are not in the scope of this extension, as those can already easily be overridden by creating a new function in your extender.

You can verify the validators on a model by loading up the script/console and calling .validate (ie, Page.validate). You will get a list of validators and you should be able to see the :name setting for each one.


Please use the Issues panel on the GitHub Project Page to report any issues.

Something went wrong with that request. Please try again.