<TextBox Name="txtModuleName" Grid.Column="1" Margin="5"> <TextBox.Text> <Binding FallbackValue="59" RelativeSource="{RelativeSource Self}" Path="Text"> <Binding.ValidationRules> <val:StringRangeValidationRule MinimumLength="1" ErrorMessage="Module Name is required."/> <val:StringNotInListValidationRule ErrorMessage="Module Name already Exists." ListToCompare="{DynamicResource list}"/> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox>
public class StringNotInListValidationRule : ValidationRule { public List<ISearch> ListToCompare { get; set; } public string ErrorMessage { get; set; } public override ValidationResult Validate(object value, CultureInfo cultureInfo) { ValidationResult result = new ValidationResult(true, null); string inputString = (value ?? string.Empty).ToString(); if (null == ListToCompare || ListToCompare.Exists(x => x.Name == inputString)) { result = new ValidationResult(false, this.ErrorMessage); } return result; } } public interface ISearch { string Name { get; set; } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)