Обязательный атрибут по умолчанию для службы RIA - PullRequest
0 голосов
/ 13 июня 2011

У меня есть модель EF4 со столбцами таблицы, которая не допускает нулевое значение. В клиентском приложении SL я всегда получаю «columnName обязательно», потому что у меня есть привязка в xaml с [NotifyOnValidationError = True, ValidatesOnExceptions = True] для текстовых полей.

Мои вопросы: Я могу переопределить требуемое по умолчанию сообщение об ошибке в классе метаданных, но как его использовать в качестве пользовательской проверки? Я имею в виду, что я не хочу делать это в классе запечатанных метаданных:

[Required(ErrorMessage = "Coin English Name Is required")]
[CustomValidation(typeof (CustomCoinVaidation), "ValidateCoinName")]
public string coin_name_1 { get; set; }

Я хочу, чтобы он был внутри пользовательского метода проверки, который я определю для всех типов ошибок в отношении coin_name_1, следующим образом:

    public static ValidationResult ValidateCoinName(string name, ValidationContext validationContext)
    {
        if (string.IsNullOrWhiteSpace(name))
        {
            return new ValidationResult("The Coin Name should be specified", new [] { "Coin Name" });
        }
        return ValidationResult.Success;
    }

Почему?

по двум причинам: 1- Сгруппируйте все проверки в одном контейнере (для облегчения дальнейшей локализации). 2- Я не хочу, чтобы имя coin_name_1 отображалось для конечного пользователя, но значимо как «Английское имя монеты».

Второй вопрос: У меня есть элемент управления ValidationSummary на моей странице xaml, где отображаются все ошибки, но отображает оригинальное имя столбца "coin_name_1", как я могу изменить его, чтобы он тоже представлял собой значение.

С наилучшими пожеланиями Валид

1 Ответ

0 голосов
/ 16 июня 2011

A1: Я просто оставил необходимое, как оно реализовано прямо сейчас ..

A2: Я прошел через разные источники и нашел это художественным. Он показывает, как стилизовать сводку проверки: http://www.ditran.net/common-things-you-want-know-about-silverlight-validationsummary

Я также асинхронно внедряю проверку на стороне клиента.

Привет

...