コード例 #1
0
 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);
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 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;
 }
コード例 #4
0
 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;
 }
コード例 #5
0
 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;
 }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
 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;
 }
コード例 #9
0
 public ModelValidatorBase(EasyModelMetaData metadata, ControllerContext context)
     : base(metadata, context)
 {
 }
コード例 #10
0
        public override ModelMetadata GetMetadataForType(Func <object> modelAccessor, Type modelType)
        {
            EasyModelMetaData emMetaData = new EasyModelMetaData(this, null, modelAccessor, modelType, null);

            return(emMetaData);
        }
コード例 #11
0
        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);
        }