private static void SetupRequiredValidator(ModelMetadataItem property) { var requiredValidator = property.GetValidationOrCreateNew<RequiredValidationMetadata>(); // check that message is not localized yet if (requiredValidator.ErrorMessage == null && requiredValidator.ErrorMessageResourceType == null) { requiredValidator.ErrorMessage = () => ValidationResources.PropertyValueRequired; } }
private static ModelValidationMetadata CreateRangeValidator(ModelMetadataItem property, RangeAttribute rangeAttribute) { object min = rangeAttribute.Minimum; object max = rangeAttribute.Maximum; // Check all numeric types, no other way found ModelValidationMetadata extValidator = null; if (min is int) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<int>>(); else if (min is sbyte) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<sbyte>>(); else if (min is short) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<short>>(); else if (min is long) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<long>>(); else if (min is uint) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<uint>>(); else if (min is byte) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<byte>>(); else if (min is ushort) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<ushort>>(); else if (min is ulong) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<ulong>>(); else if (min is float) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<float>>(); else if (min is double) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<double>>(); else if (min is decimal) extValidator = property.GetValidationOrCreateNew<RangeValidationMetadata<decimal>>(); if (extValidator != null) { if (rangeAttribute.ErrorMessageResourceType != null) { extValidator.ErrorMessageResourceType = rangeAttribute.ErrorMessageResourceType; extValidator.ErrorMessageResourceName = rangeAttribute.ErrorMessageResourceName; } } return extValidator; }
private static void SetupDataTypeValidator(ModelMetadataItem property) { var typeValidator = property.GetValidationOrCreateNew<CustomValidationMetadata<DataTypeModelValidator>>(); typeValidator.Factory = (metadata, context) => new DataTypeModelValidator(metadata, context); typeValidator.Configure = v => DataTypeModelValidator.Configure(v); }