public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
        {
            ErrorMessage = UmbracoValidationHelper.GetPropertyValue(_propertyAlias);

            var error = FormatErrorMessage(metadata.DisplayName);
            var rule  = new ModelClientValidationStringLengthRule(error, _minimumLength, _maximumLength);

            yield return(rule);
        }
        public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
        {
            ErrorMessage = UmbracoValidationHelper.GetPropertyValue(_propertyAlias);
            var error = FormatErrorMessage(metadata.DisplayName);
            var rule  = new ModelClientValidationRule
            {
                ErrorMessage   = error,
                ValidationType = "email"
            };

            yield return(rule);
        }
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            var email = Convert.ToString(value);

            if (!string.IsNullOrEmpty(email))
            {
                //Test the regex
                var result = _Regex.Match(email).Length > 0;

                //If no matches then email NOT valid
                if (!result)
                {
                    //Get the error message to return
                    var error = UmbracoValidationHelper.FormatErrorMessage(validationContext.DisplayName, _propertyAlias);

                    //Return error
                    return(new ValidationResult(error));
                }
            }

            //All good :)
            return(ValidationResult.Success);
        }