/// <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); }
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); }