private ModelValidator GetValidator(EasyModelMetaData metadata, ControllerContext context, ValidatorBase validator) { if (string.IsNullOrEmpty(validator.DisplayName)) { validator.DisplayName = string.IsNullOrEmpty(metadata.HtmlTag.DisplayName) ? metadata.HtmlTag.Name : metadata.HtmlTag.DisplayName; } if (validator is RequiredValidator) { return new Validator.RequiredModelValidator(metadata, context, (RequiredValidator)validator); } if (validator is RangeValidator) { return new Validator.RangeModelValidator(metadata, context, (RangeValidator)validator); } if (validator is RegularValidator) { return new Validator.RegularModelValidator(metadata, context, (RegularValidator)validator); } if (validator is RemoteValidator) { return new Validator.RemoteModelValidator(metadata, context, (RemoteValidator)validator); } if (validator is StringLengthValidator) { return new Validator.StringLengthModelValidator(metadata, context, (StringLengthValidator)validator); } return null; }
public override IEnumerable<ModelMetadata> GetMetadataForProperties(object container, Type containerType) { List<EasyModelMetaData> result = new List<EasyModelMetaData>(); foreach (var item in containerType.GetProperties()) { EasyModelMetaData emMetaData = new EasyModelMetaData(this, containerType, null, item.PropertyType, item.Name); result.Add(emMetaData); } return result; }
public override ModelMetadata GetMetadataForType(Func<object> modelAccessor, Type modelType) { EasyModelMetaData emMetaData = new EasyModelMetaData(this, null, modelAccessor, modelType, null); return emMetaData; }
public override ModelMetadata GetMetadataForProperty(Func<object> modelAccessor, Type containerType, string propertyName) { EasyModelMetaData emMetaData = new EasyModelMetaData(this, containerType, modelAccessor, containerType.GetProperty(propertyName).PropertyType, propertyName); return emMetaData; }