Доступ к блоку валидатора ErrorMessage - PullRequest
1 голос
/ 16 февраля 2012
public class Test 
{
    [RelativeDateTimeValidator(-10, DateTimeUnit.Year, 10, DateTimeUnit.Year, ErrorMessage = "Error")]
    public DateTime ADate { get; set; } 

    public void ValidateMyProperty() 
    {
        ADate = new DateTime(1900, 01, 01);

        ValidationResults vrs = Validation.Validate<Test>(this);
        foreach (var vr in vrs)
        {
            Print(vr.Message);
        }
    }
}

это отображает

The value must fall within the range "-10"(Year) - "10(Year) relative to now

Однако, как я могу отобразить / получить доступ к указанному мной сообщению об ошибке (ErrorMessage = "Error")?

Заранее спасибо.

1 Ответ

1 голос
/ 16 февраля 2012

Я думаю, что вы ищете атрибут MessageTemplate , если вы хотите указать, какое сообщение они получают при сбое проверки.Он также позволяет заменять токены.

Из документации:

public class Person
{
  [RelativeDateTimeValidator(-120, DateTimeUnit.Year, -18, DateTimeUnit.Year,
           Ruleset="RuleSetA", MessageTemplate="Must be 18 years or older.")]
  public DateTime DateOfBirth
  {
    get
    {
      return dateOfBirth;
    }
  }
}

Токены шаблона сообщения

Если шаблон сообщения содержит токены (например, "{0}"),валидатор заменит эти токены значениями при создании ValidationResult.Токены, поддерживаемые средством проверки относительной даты и времени, перечислены в следующей таблице.

Токен

Значение

{0}

Этот токен представляет значениеобъекта, который проверяется.Хотя может быть полезно показать исходное значение как часть сообщения проверки, вы должны быть осторожны, чтобы избежать атак с использованием инъекций, избегая любых символов, которые можно использовать для атаки на систему, которая передает сообщение пользователю.

{1}

Этот токен представляет ключ проверяемого объекта.Когда валидатор присоединен к члену типа, такого как свойство или поле, ключу присваивается имя члена.Когда валидатор присоединен к объекту, ключ имеет значение null, а токен заменяется пустой строкой.

{2}

Этот токен представляет тег, указанный в экземпляре валидатора,Если тег не указан, токен заменяется пустой строкой.

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