/// <summary> /// Create a new instance of <see cref="DataAnnotationsClientModelValidatorProvider"/>. /// </summary> /// <param name="options">The <see cref="IOptions{MvcDataAnnotationsLocalizationOptions}"/>.</param> /// <param name="stringLocalizerFactory">The <see cref="IStringLocalizerFactory"/>.</param> public DataAnnotationsClientModelValidatorProvider( IValidationAttributeAdapterProvider validationAttributeAdapterProvider, IOptions<MvcDataAnnotationsLocalizationOptions> options, IStringLocalizerFactory stringLocalizerFactory) { if (validationAttributeAdapterProvider == null) { throw new ArgumentNullException(nameof(validationAttributeAdapterProvider)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } _validationAttributeAdapterProvider = validationAttributeAdapterProvider; _options = options; _stringLocalizerFactory = stringLocalizerFactory; }
/// <summary> /// Create a new instance of <see cref="DataAnnotationsModelValidator"/>. /// </summary> /// <param name="attribute">The <see cref="ValidationAttribute"/> that defines what we're validating.</param> /// <param name="stringLocalizer">The <see cref="IStringLocalizer"/> used to create messages.</param> /// <param name="validationAttributeAdapterProvider">The <see cref="IValidationAttributeAdapterProvider"/> /// which <see cref="ValidationAttributeAdapter{TAttribute}"/>'s will be created from.</param> public DataAnnotationsModelValidator( IValidationAttributeAdapterProvider validationAttributeAdapterProvider, ValidationAttribute attribute, IStringLocalizer stringLocalizer) { if (validationAttributeAdapterProvider == null) { throw new ArgumentNullException(nameof(validationAttributeAdapterProvider)); } if (attribute == null) { throw new ArgumentNullException(nameof(attribute)); } _validationAttributeAdapterProvider = validationAttributeAdapterProvider; Attribute = attribute; _stringLocalizer = stringLocalizer; }
public CustomDataAnnotationsClientModelValidatorProvider() { IServiceProvider serviceProvider = ContainerManager.ServiceProvider; IValidationAttributeAdapterProvider validationAttributeAdapterProvider = serviceProvider.GetService(typeof(IValidationAttributeAdapterProvider)) as IValidationAttributeAdapterProvider; IOptions <MvcDataAnnotationsLocalizationOptions> options = serviceProvider.GetService(typeof(IOptions <MvcDataAnnotationsLocalizationOptions>)) as IOptions <MvcDataAnnotationsLocalizationOptions>; IStringLocalizerFactory stringLocalizerFactory = serviceProvider.GetService(typeof(IStringLocalizerFactory)) as IStringLocalizerFactory; if (validationAttributeAdapterProvider == null) { throw new ArgumentNullException(nameof(validationAttributeAdapterProvider)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } _validationAttributeAdapterProvider = validationAttributeAdapterProvider; _options = options; _stringLocalizerFactory = stringLocalizerFactory; }
public LocalizedClientModelValidator(IValidationAttributeAdapterProvider validationAttributeAdapterProvider) { _validationAttributeAdapterProvider = validationAttributeAdapterProvider; }
public ExpressiveAnnotationsAttributeAdapterProvider() { _baseProvider = new ValidationAttributeAdapterProvider(); }
public VeeValidateAttributeAdapterProviderTests() { _provider = new VeeValidateAttributeAdapterProvider(new VeeValidateOptions()); }
public CustomValidatableObjectAdapter(IValidationAttributeAdapterProvider validationAttributeAdapterProvider, StringLocalizerAdapter stringLocalizerAdapter) { _validationAttributeAdapterProvider = validationAttributeAdapterProvider; _stringLocalizerAdapter = stringLocalizerAdapter; }
public ConfigureMvcViews(IValidationAttributeAdapterProvider validationAttributeAdapterProvider) { _validationAttributeAdapterProvider = validationAttributeAdapterProvider; }
public DetachedModelValidatorConfigureOptions(IResourceMapper resourceMapper, IStringLocalizerFactory stringLocalizerFactory, IValidationAttributeAdapterProvider validationAttributeAdapterProvider) { _stringLocalizerFactory = stringLocalizerFactory; _resourceMapper = resourceMapper; _validationAttributeAdapterProvider = validationAttributeAdapterProvider; }
private static void AddValidationsForViewModel(EnterYourDetailsBodyViewModel viewModel, ModelExplorer modelExplorer, IValidationAttributeAdapterProvider validationAttributeAdapterProvider, ClientModelValidationContext context) { var properties = new Dictionary <string, string>() { { nameof(EnterYourDetailsBodyViewModel.EmailAddress), nameof(EnterYourDetailsBodyViewModel.EmailAddressIsRequired) }, { nameof(EnterYourDetailsBodyViewModel.TelephoneNumber), nameof(EnterYourDetailsBodyViewModel.TelephoneNumberIsRequired) }, { nameof(EnterYourDetailsBodyViewModel.CallbackDateOptionSelected), nameof(EnterYourDetailsBodyViewModel.IsCallback) }, { nameof(EnterYourDetailsBodyViewModel.CallbackTimeOptionSelected), nameof(EnterYourDetailsBodyViewModel.IsCallback) }, }; var errorMessages = new Dictionary <string, string>() { { nameof(EnterYourDetailsBodyViewModel.EmailAddress), "Enter your email address" }, { nameof(EnterYourDetailsBodyViewModel.TelephoneNumber), "Enter your telephone number" }, { nameof(EnterYourDetailsBodyViewModel.CallbackDateOptionSelected), EnterYourDetailsBodyViewModel.CallbackDateOptionValidationError }, { nameof(EnterYourDetailsBodyViewModel.CallbackTimeOptionSelected), EnterYourDetailsBodyViewModel.CallbackTimeOptionValidationError }, }; if (properties.Keys.Contains(modelExplorer.Metadata.PropertyName)) { var propertyInfo = viewModel.GetType().GetProperty(properties[modelExplorer.Metadata.PropertyName]); if (propertyInfo != null) { var isRequiredValue = (bool?)propertyInfo.GetValue(viewModel, null); if (isRequiredValue != null && isRequiredValue.Value) { var validationAdapter = (RequiredAttributeAdapter)validationAttributeAdapterProvider.GetAttributeAdapter(new RequiredAttribute(), null); var errorMessage = errorMessages[modelExplorer.Metadata.PropertyName]; validationAdapter.Attribute.ErrorMessage = errorMessage; validationAdapter.AddValidation(context); } } } }