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