Я хочу использовать DXValidationProvider
, чтобы проверить, является ли имя Item
внутри TextEdit
уникальным. У меня есть коллекция доступных Item
объектов.Используйте DXValidationProvider для проверки значения против коллекции значений
Псевдо код класса Item:
class Item {
public string Name {get;set;}
// ...
}
Сначала я создаю ConditionValidationRule
:
List<Item> MyItems;
// .... MyItems is filled somewhere there. Its size is >0 for sure (checked with debugger).
// Binding works for sure too.
ConditionValidationRule uniqueItemNameRule = new ConditionValidationRule();
uniqueItemNameRule.CaseSensitive = false;
uniqueItemNameRule.ConditionOperator = ConditionOperator.NotAnyOf;
uniqueItemNameRule.ErrorText = "Name must be unique";
uniqueItemNameRule.ErrorType = ErrorType.Critical;
uniqueItemNameRule.Value1 = MyItems.Select(x => x.Name).ToList();
validationProvider.SetValidationRule(teName, uniqueItemNameRule);
Однако, когда я установил имя элемента, который не является уникальным, проверка проходит в любом случае. Я не забыл выполнить валидацию, так как другие правила работают по назначению. В DevExpress отсутствует документация по правилам проверки, поэтому на самом деле нет чтения.