我有一个EF4模型,表的列不允许为空。 在SL客户端应用程序中,我总是接受“columnName is required”,因为我在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显示给最终用户,而是显示为“硬币英文名称”。
第二个问题: 我在我的xaml页面上有一个ValidationSummary控件,其中显示了所有错误,但是显示了列“coin_name_1”的原始名称,我怎样才能将其变成一个meanigfil。
祝你好运 瓦利德
答案 0 :(得分:0)
A1: 我刚刚离开了所需的,因为它现在正在实施..
A2: 我经历了不同的来源并找到了这个艺术品。 它显示了如何设置验证摘要的样式: http://www.ditran.net/common-things-you-want-know-about-silverlight-validationsummary
我也在实现客户端验证asyncronizly。
此致