2
我試圖確保我的cms中的每個項目都有唯一的網址。如何在我的驗證方法中區分編輯和創建新項目?
該模型已被製成一個IValidatableObject,我正在使用下面的驗證方法。
我遇到的問題是判斷項目是否正在創建(url不能與任何現有項目匹配)或編輯(url不能與以外的任何項目以外)。
我該如何做到這一點...我是否正確地接近了這一點?
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
DataContext db = new DataContext();
string itemContainingURL = db.CMSPages.Where(c => c.URL == URL).Select(c => c.Title).SingleOrDefault();
if (!string.IsNullOrEmpty(itemContainingURL))
{
yield return new ValidationResult(String.Format("URL should be unique, but it already exists for item: {0}", itemContainingURL), new[] { "URL" });
}
}
當然,這是第二個問題,愚蠢今天我問。 : - $謝謝 –
沒問題。無論如何,這是一個很好的問題,有時候只需要另一雙眼睛。 –