如何在SL客户端传递异常验证?

时间:2012-08-01 17:32:25

标签: wcf-ria-services silverlight-5.0

假设我有一个实体Person(id,dept,EmailAddress,DOB,...),当用EF创建模型时,然后为这个类创建一个元数据类,将验证规则放在服务器端,如:

[CustomValidation(typeof(MyValidator), "DOBValidator")]
public Nullable<DateTime> DOB { get; set; }

[RegularExpression("^([\\w-\\.]+)@((\\[[0–9]{1,3}\\.[0–9]{1,3}\\.[0–9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4" + "}|[0–9]{1,3})(\\]?)$", ErrorMessage = "Invalid email address")]
[StringLength(128)]
public string EmailAddress { get; set; }

当验证规则到位时,对于从客户端发送的任何数据,在提交任何数据进行保存时都将通过验证,没有异常。

但是现在我想要规则的例外:从UI,当通过绑定实体Person从UI获取数据时,基于数据,我想忽略验证。例如,当Dept = A时,不检查EmailAddress验证,对于dept = B,不要检查DOB验证。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

我相信你需要类级验证。看看这个question 当然,您的代码需要在客户端编译。 (如果使用WCF ria服务,有几种方法可以达到此目的)

HTH