public CompareValidator(string otherField, string errorMessage) : base(errorMessage) { Debug.Assert(!String.IsNullOrEmpty(otherField)); _otherField = otherField; _clientValidationRule = new ModelClientValidationEqualToRule(errorMessage, otherField); }
public void ModelClientValidationEqualToRuleUsesSetDisplayName() { Mock <ModelMetadataProvider> provider = new Mock <ModelMetadataProvider>(); ModelMetadata metadata = new ModelMetadata( provider.Object, typeof(CompareObject), null, typeof(string), null ); metadata.DisplayName = "CurrentProperty"; CompareAttribute attr = new CompareAttribute("ComparePropertyWithDisplayName"); attr.OtherPropertyDisplayName = "SetDisplayName"; List <ModelClientValidationRule> ruleList = new List <ModelClientValidationRule>( attr.GetClientValidationRules(metadata, null) ); ModelClientValidationRule rule = Assert.Single(ruleList); ModelClientValidationEqualToRule actualRule = Assert.IsType <ModelClientValidationEqualToRule>(rule); Assert.Equal( "'CurrentProperty' and 'SetDisplayName' do not match.", actualRule.ErrorMessage ); }
public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) { var clientValidationRule = new ModelClientValidationEqualToRule(ErrorMessage, _dependentProperty); clientValidationRule.ValidationParameters.Add("dependentproperty", _dependentProperty); yield return(clientValidationRule); }
public void GetClientValidationRulesReturnsModelClientValidationEqualToRule() { Mock <ModelMetadataProvider> provider = new Mock <ModelMetadataProvider>(); Mock <ModelMetadata> metadata = new Mock <ModelMetadata>( provider.Object, null, null, typeof(string), null ); metadata.Setup(m => m.DisplayName).Returns("CurrentProperty"); CompareAttribute attr = new CompareAttribute("CompareProperty"); List <ModelClientValidationRule> ruleList = new List <ModelClientValidationRule>( attr.GetClientValidationRules(metadata.Object, null) ); ModelClientValidationRule rule = Assert.Single(ruleList); ModelClientValidationEqualToRule actualRule = Assert.IsType <ModelClientValidationEqualToRule>(rule); Assert.Equal( "'CurrentProperty' and 'CompareProperty' do not match.", actualRule.ErrorMessage ); Assert.Equal("equalto", actualRule.ValidationType); Assert.Equal("*.CompareProperty", actualRule.ValidationParameters["other"]); }
public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) { this.TrySetErrorMessage(_errorMessageDictionaryKey); var error = FormatErrorMessage(metadata.DisplayName); var rule = new ModelClientValidationEqualToRule(error, _otherProperty); yield return(rule); }
public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) { ErrorMessage = UmbracoValidationHelper.GetPropertyValue(_propertyAlias); var error = FormatErrorMessage(metadata.DisplayName); var rule = new ModelClientValidationEqualToRule(error, _otherProperty); yield return(rule); }
public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) { ErrorMessage = UmbracoValidationHelper.GetDictionaryItem(_errorMessageDictionaryKey, _defaultText); var error = FormatErrorMessage(metadata.DisplayName); var rule = new ModelClientValidationEqualToRule(error, _otherProperty); yield return(rule); }
public void ModelClientValidationEqualToRuleErrorMessageUsesOtherPropertyDisplayName() { Mock <ModelMetadataProvider> provider = new Mock <ModelMetadataProvider>(); ModelMetadata metadata = new ModelMetadata(provider.Object, typeof(CompareObject), null, typeof(string), null); metadata.DisplayName = "CurrentProperty"; CompareAttribute attr = new CompareAttribute("ComparePropertyWithDisplayName"); List <ModelClientValidationRule> ruleList = new List <ModelClientValidationRule>(attr.GetClientValidationRules(metadata, null)); Assert.Equal(ruleList.Count, 1); ModelClientValidationEqualToRule actualRule = ruleList[0] as ModelClientValidationEqualToRule; Assert.Equal("'CurrentProperty' and 'DisplayName' do not match.", actualRule.ErrorMessage); Assert.Equal("equalto", actualRule.ValidationType); Assert.Equal("*.ComparePropertyWithDisplayName", actualRule.ValidationParameters["other"]); }