here açıklandığı gibi kendi özel onayınızı yazabilirsiniz. Modelde geçerli kayıtların geçerlilik stilini tercih ettiğim için, modelde doğrulama eklemek için kodu değiştirdim.
public class EmployeeViewModel
{
[CustomValidation(typeof(EmployeeViewModel), "ValidateDuplicate")]
[Required(ErrorMessage = "Username is required")]
[DisplayName("Username")]
public string Username { get; set; }
public static ValidationResult ValidateDuplicate(string username)
{
bool isValid;
using(var db = new YourContextName) {
if(db.EmployeeViewModel.Where(e => e.Username.Equals(username)).Count() > 0)
{
isValid = false;
} else {
isValid = true;
}
}
if (isValid)
{
return ValidationResult.Success;
}
else
{
return new ValidationResult("Username already exists");
}
}
}
Bu bir tombala! – Steven
Bağlantı bozuk – sohtimsso1970
David Hayden blogunu başka bir yere taşıdı ve eski blog gönderilerini geri göndermedi (ya da yapamadı). Bu, Microsoft'un belgelerine doğrudan bir bağlantı olduğu söyleniyor: http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx – Khepri