我有在它下面的屬性定義發票對象...自定義驗證似乎無法找到聲明的方法
[CustomValidation(typeof(InvoiceValidator), "ValidateInvoiceDate")]
public DateTime InvoiceDate { get; set; }
當我在我的MVC應用程序做了回發我得到一個發票對象當時這樣做......
if(ModelState.IsValid)
{
SaveInvoice(invoice);
}
我的驗證程序看起來像這樣...
public static class InvoiceValidator
{
public static ValidationResult ValidateInvoiceDate(DateTime invoiceDate, ValidationContext context)
{
// some validation code (omitted)
}
}
我的問題似乎越來越牛逼他壩東西的工作作爲目前它只是拋出一個異常:
The CustomValidationAttribute method 'ValidateInvoiceDate' does not exist in type 'InvoiceValidator' or is not public and static.
這種說法顯然是不正確的,校驗類存在也是如此用正確的修飾符(公共的,靜態)的方法。這是我以前使用過的代碼,通常工作正常,但由於某些原因,這次無法正常工作。
任何想法還有什麼可能導致此異常被拋出?
事情我已經嘗試:
乾淨的解決方案,並完全重建(沒有錯誤在編譯時)。 重命名方法/驗證器類和重構屬性爲新值然後重新編譯 刮頭 問就到這裏
我看來像我的代碼沒有被正確運行或東西,因爲我不明白爲什麼一個明確宣佈公共靜態方法會導致一個錯誤,說它沒有聲明除此之外。
這是一個棘手的問題。好偵探工作! – trailmax