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); }
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); }
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); }
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; } }
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); }
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); }
public abstract ModelValidator Create( IStorageValidator validator, Type defaultResourceType, ModelMetadata metadata, ControllerContext context);