我需要驗證一個值是否已經存在於數據庫中。所以我寫了一個自己的ValidationAttribute來檢查它。 問題是我這個模型添加到屬性:獨特屬性驗證
[UniqueAttribute(ErrorMessage = "This title already exists")]
,在添加視圖工作正常,但編輯該對象時,我不知道如何處理這個問題,因爲,如果用戶沒有按」不改變標題,因爲驗證被執行,也會有錯誤信息。 我可以在不使用此ValidationAttribute的情況下使用模型視圖,但如果用戶將標題更改爲仍存在的另一個標題,則會違反唯一性。
如果在更新對象後標題是唯一的,您是否知道如何驗證編輯視圖?
謝謝。
例如:
public class UniqueAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null)
{
return true;
}
MyDataContext db = new MyDataContext();
foreach (var item in db.AnyObjects.ToList())
if (item.Title.Equals(value))
return false;
return true;
}
}
將該添加一個對象,但不進行編輯時,當工作良好。
「UniqueAttribute」屬性的代碼是什麼? –
調用數據庫,檢查值是否在表中,如果是,則返回true,否則返回false。 – Underfaker
我的代碼是正確的,我不需要更正它。我正在尋找正確的想法,然後我可以爲自己實施它。 – Underfaker