IValidatlableObject를 구현하는 모델이 있으므로 Validate 메서드를 통해 사용자 지정 오류를 검사합니다.일부 작업에서만 IValidatableObject
개체를 모두 만들면 문제가되지 않지만 개체를 편집하려고하면 해당 사용자 지정 유효성 검사를 수행하지 않습니다.
유효성 검사를 수행하지 않기 위해 Validate 메서드를 호출하는 동작을 어떻게 알 수 있습니까?
업데이트 : 내가 성분을 만들 때 그래서 나는 모든을 (+ IValidatable 속성) 을 확인하고 싶지만 내가 Ingrendient를 편집 할 때 난 단지 원하는
public class Ingredient : IValidatableObject
{
public int Id { get; set; }
[Required(ErrorMessage = "Required!!")]
public string Name { get; set; }
public virtual List<Product> Products { get; set; }
public Ingredient()
{
Products = new List<Product>();
}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
using (var uow = new UnitOfWork())
{
var ingredient = uow.IngredientRepository.Get(i => i.Name ==Name).FirstOrDefault();
if (ingredient != null)
yield return new ValidationResult("Duplicate!!!.", new[] { "Name" });
}
}
}
}
: 이 마일 모델입니다 특성을 유효성을 검사하는 (그래서 나는 IValidatable을 건너 뛰는 것을 의미한다) Validate를 호출하는 곳에서 IValidatable 메서드 내에서 알아야 할 방법은 무엇입니까?
감사합니다 !!! 모델의
나는 생각하지 않았습니다. 그렇습니다. 좋은 해결책 !!!. 그래서 나는 액션/컨트롤러를 확인하는 방법이 없다고 생각합니다. – Tekno