2011-06-13 47 views
0

我有一个EF4模型与表的列不允许为null。 在SL客户端应用程序中,我总是接受“columnName是必需的”,因为我在xaml中为文本框使用了[NotifyOnValidationError = True,ValidatesOnExceptions = True]的绑定。RIA服务默认所需属性

我的问题是: 我可以在元数据类上覆盖默认的必需errormessage,但是我怎样才能将它作为自定义验证?我的意思是我不wnat在密封的元数据类来做到这一点:

[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显示给最终用户,但是很有意思的是“Coin English Name”。

第二个问题: 我在我的xaml页面上有一个ValidationSummary控件,其中显示了所有的错误,但是显示了列“coin_name_1”的orignal名称,我怎样才能把它变成一个meanigfil。

问候 瓦利德

回答

0

A1: 我刚刚离开的要求,因为它是实现现在..

A2: 我通过不同的来源去,找到这个ARTICAL。 它显示了如何设计验证总结: http://www.ditran.net/common-things-you-want-know-about-silverlight-validationsummary

我也实现了客户端验证asyncronizly。

问候

+0

从建议的链接,我可以说以下 这是正确的,每一页XAML必须有它?所有这些xaml代码显示验证错误,我如何将所有这些代码放在一个地方(不管它是什么),我可以在任何xaml网页上显示验证错误。 任何机构都希望对此有所帮助。 – ramnz 2012-07-26 15:48:37

+0

@ramnz propobley你有这个整理出来,如果不是这里的话。您可以让xaml在资源文件中的应用级别上为其分配x:key的样式化验证摘要,并根据需要将它用于整个应用程序。 – Waleed 2013-04-08 16:56:47