Custom TypeValidator and CompositeValidator

Basically, TypeValidator and CompositeValidator contain enough things to play with validation. There are a few virtual methods to override incase you want to add your logics:
Therefore, beside those things, I have know idea about potential reasons to create a custom TypeValidator :D

Also mentioned in Creating a new validator for your domain model:
Example:
public class AddressValidator : TypeValidator<Address>
{    
     // Rules here in the constructor
}
Example:
public class UserValidator : CompositeValidator<User>
{
     // Rules here in the constructor    
}

Finally, if you want the new created validator type to be resolvable when calling ValidatorFactory.Current.GetValidatorFor(typeof(User)) for example, we need to register it as default validator:

ValidatorFactory.Current.Register(new UserValidator(), true);
//or
ValidatorFactory.Current.Register<UserValidator>(true);
And then

var validator = ValidatorFactory.Current.GetValidatorFor(typeof(User));
var results = validator.GetValidationResults(user);
if (results != null && results.Count() > 0)
{
    throw new Exception("Validation failed");
}
If you simply want to initialize the validator instance and validate some objects, you don't need to do the registration thing above:

var validator = new UserValidator();
var results = validator.GetValidationResults(user);
if (results != null && results.Count() > 0)
{
    throw new Exception("Validation failed");
}