선언 방법 ... 내 MVC 응용 프로그램에서 포스트 백을 수행 할 때사용자 정의 유효성 내가 거기에 다음과 같은 속성 정의와 송장 개체가
[CustomValidation(typeof(InvoiceValidator), "ValidateInvoiceDate")]
public DateTime InvoiceDate { get; set; }
은 내가 얻을를 찾을 수 없습니다 송장 객체는 다시 다음
public static class InvoiceValidator
{
public static ValidationResult ValidateInvoiceDate(DateTime invoiceDate, ValidationContext context)
{
// some validation code (omitted)
}
}
내 문제는 t을 받고있는 것 같다 ...
if(ModelState.IsValid)
{
SaveInvoice(invoice);
}
내 검증은 다음과 같습니다 ... 이렇게 그는 단순히 예외를 던지는 순간으로 작업 할 일을 댐 :
The CustomValidationAttribute method 'ValidateInvoiceDate' does not exist in type 'InvoiceValidator' or is not public and static.
이 문장은 분명 옳지 않다, 발리 클래스가 존재하므로 바로 수정 (공공 정적)와 방법을 수행합니다. 이 코드는 전에로드를 사용했지만 일반적으로 잘 작동하지만 이번에는 작동하지 않습니다.
다른 아이디어로 인해이 예외가 발생할 수있는 원인은 무엇입니까?
것들 나는 시도했다 : (컴파일시 오류없이)
깨끗한 솔루션 및 전체 다시 빌드합니다. 새 값 방법/검증 클래스와 리팩토링 속성의 이름을 변경 한 다음에 물어 스크래치 머리 을 다시 컴파일 나는 이유를 명확하게 선언 볼 수 없기 때문에 내 코드가 제대로 실행하거나 뭔가되지 않는 것처럼 여기
나에게 보인다 공공 정적 메서드는 그 이외의 선언되지 않은 오류가 발생합니다.
수정 사항은 까다 롭습니다. 좋은 형사! – trailmax