private ModelValidator GetValidator(EasyModelMetaData metadata, ControllerContext context, ValidatorBase validator) { if (string.IsNullOrEmpty(validator.DisplayName)) { validator.DisplayName = string.IsNullOrEmpty(metadata.ViewPortDescriptor.DisplayName) ? metadata.ViewPortDescriptor.Name : metadata.ViewPortDescriptor.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 RegularModelValidator(EasyModelMetaData metadata, ControllerContext context, RegularValidator regularvalidator) : base(metadata, context) { this.Attribute = new RegularExpressionAttribute(regularvalidator.Expression); //this.Attribute.ErrorMessageResourceType = Metadata.ContainerType; //this.Attribute.ErrorMessageResourceName = Metadata.PropertyName; this.Attribute.ErrorMessage = regularvalidator.ErrorMessage; }
public RangeModelValidator(EasyModelMetaData metadata, ControllerContext context, RangeValidator rangevalidator) : base(metadata, context) { this.Attribute = new RangeAttribute(rangevalidator.Min, rangevalidator.Max); //this.Attribute.ErrorMessageResourceType = Metadata.ContainerType; //this.Attribute.ErrorMessageResourceName = Metadata.PropertyName; this.Attribute.ErrorMessage = rangevalidator.ErrorMessage; }
public StringLengthModelValidator(EasyModelMetaData metadata, ControllerContext context, StringLengthValidator stringlengthvalidator) : base(metadata, context) { minLength = stringlengthvalidator.Min; this.Attribute = new StringLengthAttribute(stringlengthvalidator.Max); //this.Attribute.ErrorMessageResourceType = Metadata.ContainerType; //this.Attribute.ErrorMessageResourceName = Metadata.PropertyName; this.Attribute.ErrorMessage = stringlengthvalidator.ErrorMessage; }
public RequiredModelValidator(EasyModelMetaData metadata, ControllerContext context, RequiredValidator requiredvalidator) : base(metadata, context) { this.Attribute = new RequiredAttribute { ErrorMessage = requiredvalidator.ErrorMessage }; //this.Attribute.ErrorMessageResourceType = Metadata.ContainerType; //this.Attribute.ErrorMessageResourceName = Metadata.PropertyName; }
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 IEnumerable <ModelValidator> GetValidators(ModelMetadata metadata, ControllerContext context) { List <ModelValidator> validators = new List <ModelValidator>(); EasyModelMetaData data = metadata as EasyModelMetaData; if (data != null && data.ViewPortDescriptor != null) { validators.AddRange(data.ViewPortDescriptor.Validator.Select(item => GetValidator(data, context, item)).Where(validator => validator != null)); } return(validators); }
public RemoteModelValidator(EasyModelMetaData metadata, ControllerContext context, RemoteValidator remotevalidator) : base(metadata, context) { this.area = remotevalidator.Area; this.action = remotevalidator.Action; this.controller = remotevalidator.Controller; this.Attribute = new RemoteAttribute(action, controller); //this.Attribute.ErrorMessageResourceType = Metadata.ContainerType; //this.Attribute.ErrorMessageResourceName = Metadata.PropertyName; this.Attribute.ErrorMessage = remotevalidator.ErrorMessage; this.Attribute.AdditionalFields = remotevalidator.AdditionalFields; }
public ModelValidatorBase(EasyModelMetaData metadata, ControllerContext context) : base(metadata, context) { }
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); }