0
我使用Silverlight創建網站,並在註冊用戶時使用自定義驗證。我想阻止兩個用戶使用相同用戶名註冊。我用Entity Framework
和WCF RIA
。 但是,當我插入與先前註冊的用戶相同的用戶名時,我的頁面中不顯示任何錯誤。爲什麼?Silverlight中的自定義驗證
這是我的代碼:
//this code is for domain service MetaData
[CustomValidation(typeof(UserExistValidation),"UserNotExist")]
[Required(ErrorMessage = "username is required!")]
public string username { get;set; }
而我的驗證:
public class UserExistValidation
{
public static ValidationResult UserNotExist(string username)
{
JobDBEntities myDB = new JobDBEntities();
var query = (from u in myDB.tblUsers where u.username == username select new { u.username }).SingleOrDefault();
if (query == null)
{
return ValidationResult.Success;
}
else return new ValidationResult("this usename is existed!");
}
}
,這是我的XAML代碼:
<TextBox Text="{Binding Path=username,Mode=TwoWay,ValidatesOnExceptions=True}" x:Name="txtusername"/>
。
我添加這個,但我的頁面不會改變 – user3472324
@ user3472324:什麼是您的綁定是什麼樣子?最好的事情是你編輯你的問題,並提供可以看到用戶名綁定的xaml部分。 – Martin
我使用domainservice.metadata顯示錯誤。我是否應該在我的服務器項目中實現一個諸如「newuser」這樣的驗證錯誤的類? – user3472324