You can create your own metadata provider for this model, for example:
public class CustomModelMetadataProvider : DataAnnotationsModelMetadataProvider { protected override ModelMetadata CreateMetadata(IEnumerable<System.Attribute> attributes, System.Type containerType, System.Func<object> modelAccessor, System.Type modelType, string propertyName) { var modelMetadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName); if (string.IsNullOrEmpty(propertyName)) return modelMetadata; if (modelType == typeof(String)) modelMetadata.ConvertEmptyStringToNull = false; return modelMetadata; } }
Then register it in app_start:
ModelMetadataProviders.Current = new CustomModelMetadataProvider();
Paul
source share