我的Silverlight的解決方案有3個項目文件你如何設置Customvalidation在元數據文件,如果元數據是在不同的型號項目
- Silverlight的部分(客戶端)
- Web部件(服務器)
- 實體模型(我在一個單獨項目中將元數據與元數據一起維護)
元數據文件是一個帶有relavent數據註解驗證的分部類。
[MetadataTypeAttribute(typeof(User.UserMetadata))]
public partial class User
{
[CustomValidation(typeof(UsernameValidator), "IsUsernameAvailable")]
public string UserName { get; set; }
}
現在的問題是,我需要保持這種類UsernameValidator 如果我的元數據類和EDMX都在服務器端(網頁),那麼我知道我需要在我的web項目中創建.shared.cs類,然後添加適當的靜態方法。
我的IsUserAvailable方法實習生將調用一個domainservice方法作爲asyc驗證的一部分。
[Invoke]
public bool IsUsernameAvailable(string username)
{
return !Membership.FindUsersByName(username).Cast<MembershipUser>().Any();
}
如果我的元數據類是在同一個項目作爲我的域業務處於然後我可以叫從我UsernameValidator.Shared.cs類域服務方法。
但是在這裏,我的實體模型和元數據在單獨的庫中。
任何想法可以理解
傑夫奇妙的解釋這裏的ASYC驗證 http://jeffhandley.com/archive/2010/05/26/asyncvalidation-again.aspx 但是當你的模型,元數據和共享類,都是在服務器端只會工作。
你真棒 – ravella 2012-04-06 15:07:39