Проверка строки Entlib5 - PullRequest
       9

Проверка строки Entlib5

1 голос
/ 20 октября 2011

Как проверить строку, если это правило:

- can be empty
- if not empty -> max length: 30

Я знаю это двумя способами:

[IgnoreNulls]
[StringLengthValidator(30)]

или

[ValidatorComposition(CompositionType.Or)]
[StringLengthValidator(30)] 
[NotNullValidator(Negated=true)]

но есть ли способ НЕ использовать IgnoreNulls или Composition.Or (есть проблемы: Проверка Entlib5 [IgnoreNull] выдает исключение при добавлении объектов в список )

1 Ответ

1 голос
/ 21 октября 2011

Я решил эту проблему.Я не мог использовать валидаторы Composition, NotNull или IgnoreNull.Я сделал следующее:

private string _address = string.Empty; // IMPORTANT!

[StringLengthValidator(30, "Max. 30 chars")]
public string Address {
    get { return _address; }
    set { _address = value; }
}

Теперь в первом поле вызова _адрес не равен нулю, это пустая строка, и аннотация IgnoreNulls теперь не нужна.StringLengthValidator теперь проверяет только если Адрес <= 30 символов. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...