Skip to content

Instantly share code, notes, and snippets.

@jmarnold
Created August 9, 2010 19:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jmarnold/515936 to your computer and use it in GitHub Desktop.
Save jmarnold/515936 to your computer and use it in GitHub Desktop.
public class BasicValidationRegistry : ValidationRegistry
{
public BasicValidationRegistry()
{
Scan(x =>
{
x.TheCallingAssembly();
x.IncludeNamespaceContainingType<ModelMarker>();
x.UseValidationAttributes();
x.InheritValidationRules();
x.ByDefault
.IfProperty(p => p.Name.ToLower().Contains("email"))
.IsEmail();
x.ByDefault
.IfProperty(p => p.Name.ToLower().Contains("phone"))
.IsPhoneNumber();
});
}
}
public class CoreValidationRegistry : ValidationRegistry
{
public CoreValidationRegistry()
{
Scan(x =>
{
x.TheCallingAssembly();
x.IncludeNamespaceContainingType<CoreValidationRegistry>();
x.ExcludeType<CoreValidationRegistry>();
x.LookForRegistries();
});
}
}
Validator.Initialize(x =>
{
x.AddRegistry<CoreValidationRegistry>();
x.BuildDependenciesWith(ObjectFactory.GetInstance);
});
public class UserValidationRegistry : ValidationRegistry
{
public UserValidationRegistry()
{
// example of how you can mix and match validation approaches
For<UserInputModel>()
.Require(u => u.Password)
.Require(u => u.ConfirmPassword)
.Compare(u => u.Password, u => u.ConfirmPassword);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment