/// <summary>
        /// Get the validation rules for the unobtrusive javascript validation.
        /// </summary>
        public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
        {
            var messageFormatter  = new MessageFormatter().AppendPropertyName(metadata.DisplayName);
            var FormatterdMessage = messageFormatter.BuildMessage(ErrorMessageSource.GetString());

            var rule = new ModelClientValidationRule
            {
                ErrorMessage   = FormatterdMessage,
                ValidationType = "requiredcheckbox"
            };

            yield return(rule);
        }
Esempio n. 2
0
        public override IEnumerable <ValidationFailure> Validate(PropertyValidatorContext context)
        {
            Func <T, TProperty>             propertyValueFunc       = x => (TProperty)context.PropertyValueFunc(x);
            IEnumerable <Func <T, object> > customMessageFormatArgs = ConvertNewFormatArgsToOldFormatArgs();

            var obsoleteContext = new PropertyValidatorContext <T, TProperty>(context.PropertyDescription, (T)context.Instance, propertyValueFunc, ErrorMessageSource.BuildErrorMessage(), customMessageFormatArgs);

            var oldResult = obsoleteValidator.Validate(obsoleteContext);

            var results = new List <ValidationFailure>();

            if (!oldResult.IsValid)
            {
                var newResult = new ValidationFailure(context.PropertyName, oldResult.Error, context.PropertyValue);
                results.Add(newResult);
            }

            return(results);
        }