Example #1
0
        public override ModelValidator Create(IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context)
        {
            metadata.IsRequired = false;

            var attribute = new RequiredAttribute();
            this.BindErrorMessageToAttribte(attribute, validator, defaultResourceType);

            return new RequiredAttributeAdapter(metadata, context, attribute);
        }
Example #2
0
        public override ModelValidator Create(
            IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context)
        {
            StorageValidator<RangeValidatorData> vldtr = validator as StorageValidator<RangeValidatorData>;
            if (vldtr == null)
                throw new System.IO.InvalidDataException(
                    "Validator value must be of type StorageValidator<RangeValidatorData>.");

            //string minValue = null;
            //try
            //{
            //    minValue = validator.data.min;
            //}
            //catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ex)
            //{
            //    throw new System.IO.InvalidDataException(
            //        string.Format("Min value can't be null. Element: {0}.", validator.Name));
            //}

            //string maxValue = null;  //xmlElement.GetValueOrNull("max");
            //try
            //{
            //    maxValue = validator.data.max;
            //}
            //catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ex)
            //{
            //    throw new System.IO.InvalidDataException(
            //        string.Format("Max value can't be null. Element: {0}.", validator.Name));
            //}

            //string typeName = null; //xmlElement.GetValueOrNull("type");
            //try
            //{
            //    typeName = validator.data.typeName ?? "System.Int32";
            //}
            //catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ex)
            //{
            //    throw new System.IO.InvalidDataException(
            //        string.Format("Max value can't be null. Element: {0}.", validator.Name));
            //}

            Type rangeType = Type.GetType(vldtr.data.TypeName);
            if (rangeType == null)
            {
                throw new System.IO.InvalidDataException(
                    string.Format("Unknown type: {0}. Element: {1}.", vldtr.data.TypeName, validator.Name));
            }

            var attribute = new RangeAttribute(rangeType, vldtr.data.min,vldtr.data.max);
            this.BindErrorMessageToAttribte(attribute, validator, defaultResourceType);

            return new RangeAttributeAdapter(metadata, context, attribute);
        }
Example #3
0
        public override ModelValidator Create(IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context)
        {
            StorageValidator<RemoteValidatorData> vldtr = validator as StorageValidator<RemoteValidatorData>;
            if (vldtr == null)
                throw new System.IO.InvalidDataException(
                    "Validator value must be of type StorageValidator<RemoteValidatorData>.");

            var attribute = new RemoteAttribute(vldtr.data.action, vldtr.data.controller);
            this.BindErrorMessageToAttribte(attribute, validator, defaultResourceType);
            if (!String.IsNullOrEmpty(vldtr.data.httpMethod))
                attribute.HttpMethod = vldtr.data.httpMethod;

            return new DataAnnotationsModelValidator<RemoteAttribute>(metadata, context, attribute);
        }
Example #4
0
        protected void BindErrorMessageToAttribte(
            ValidationAttribute attribute, IStorageValidator validator, Type defaultResourceType)
        {
            if (!String.IsNullOrEmpty(validator.ErrorMessage))
            {
                attribute.ErrorMessage = validator.ErrorMessage;
                return;
            }

            if (!String.IsNullOrEmpty(validator.ErrorMessageResourceName))
            {
                attribute.ErrorMessageResourceName = validator.ErrorMessageResourceName;
                attribute.ErrorMessageResourceType =
                    validator.ErrorMessageResourceType ?? defaultResourceType;
            }
        }
Example #5
0
        public override ModelValidator Create(IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context)
        {
            StorageValidator<EqualValidatorData> vldtr = validator as StorageValidator<EqualValidatorData>;
            if (vldtr == null)
                throw new System.IO.InvalidDataException(
                    "Validator value must be of type StorageValidator<EqualValidatorData>.");

            if (vldtr.data.value == null)
                vldtr.data.type = "System.Boolean";

            var objectValue = Convert.ChangeType(vldtr.data.value, Type.GetType(vldtr.data.type, throwOnError: true));

            var attribute = new EqualAttribute(objectValue);
            this.BindErrorMessageToAttribte(attribute, validator, defaultResourceType);

            return new DataAnnotationsModelValidator<EqualAttribute>(metadata, context, attribute);
        }
Example #6
0
        public override ModelValidator Create(IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context)
        {
            StorageValidator<int> vldtr = validator as StorageValidator<int>;
            if (vldtr == null)
                throw new System.IO.InvalidDataException(
                    "Validator value must be of type StorageValidator<int>.");

            //int maxLength = -1;
            //try
            //{
            //    maxLength = validator.data.maxLenght;
            //}
            //catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ex)
            //{
            //    throw new System.IO.InvalidDataException(
            //        string.Format("The maximum string length was not set. Element: {0}", validator.Name));
            //}

            var attribute = new StringLengthAttribute(vldtr.data);
            this.BindErrorMessageToAttribte(attribute, validator, defaultResourceType);

            return new StringLengthAttributeAdapter(metadata, context, attribute);
        }
        public override ModelValidator Create(
            IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context)
        {
            StorageValidator<string> vldtr = validator as StorageValidator<string>;
            if (vldtr == null)
                throw new System.IO.InvalidDataException(
                    "Validator value must be of type StorageValidator<string>.");

            //string regExp = null;// xmlElement.GetValueOrNull("regexp");
            //try
            //{
            //    regExp = validator.data.regExp;
            //}
            //catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException)
            //{
            //    throw new System.IO.InvalidDataException(
            //        string.Format("The regular expression was not set. Element: {0}", validator.Name));
            //}

            var attribute = new RegularExpressionAttribute(vldtr.data);
            this.BindErrorMessageToAttribte(attribute, validator, defaultResourceType);

            return new RegularExpressionAttributeAdapter(metadata, context, attribute);
        }
Example #8
0
 public abstract ModelValidator Create(
     IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context);