private IValidator GetValidator()
{
if (_validator == null)
{
if (!_hasRetrievedValidatorOnce)
{
var dependencyResolver = this.GetDependencyResolver();
var validatorProvider = dependencyResolver.TryResolve<IValidatorProvider>();
if (validatorProvider != null)
{
_validator = validatorProvider.GetValidator(GetType());
if (_validator != null)
{
Log.Debug("Found validator '{0}' for view model '{1}' via the registered IValidatorProvider", _validator.GetType().FullName, GetType().FullName);
}
}
_hasRetrievedValidatorOnce = true;
}
}
return _validator;
}