У меня есть модель 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", как я могу изменить его, чтобы он тоже представлял собой значение.
С наилучшими пожеланиями
Валид