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" });
}
}
当然,这是第二个问题,愚蠢今天我问。 : - $谢谢 –
没问题。无论如何,这是一个很好的问题,有时候只需要另一双眼睛。 –