2010-12-08 62 views
1

我們有大量的MVC頁面在我們的實體模型和其他本地定義的類上使用驗證註釋,並且這些工作正常。但是,我現在有一個頁面,其基類在另一個(引用)的項目中不起作用。MVC Validation無法在基類在另一個項目中工作

一些偏移工作正常(例如「DisplayName」),但驗證根本不起作用。例如,在提交空白表單時,TryUpdateModel(object)返回True,儘管它們是兩個字段上的「必需」驗證器。

「UserListInfo」類是被引用的項目。我嘗試過和沒有「繼承」無濟於事。

有什麼想法?

<MetadataType(GetType(UserListInfoMetaData))> _ 
Partial Public Class UserListInfo 
    Inherits [Other Project Namespace].UserListInfo 
End Class 

Public Class UserListInfoMetaData 

    <UIHint("HiddenId")> _ 
    Public Property UserID() As Object 

    <DisplayName("Email Address")> _ 
    <Required(ErrorMessage:="You must enter an Email Address")> _ 
    <StringLength(150, ErrorMessage:="Cannot be more than 150 characters long.")> _ 
    Public Property Username() As Object 

    <DisplayName("Name")> _ 
    <Required(ErrorMessage:="You must enter a Name")> _ 
    <StringLength(150, ErrorMessage:="Cannot be more than 150 characters long.")> _ 
    Public Property FriendlyName() As Object 

End Class 

回答

1

好的,我似乎做錯了什麼是在「繼承」語句中提供完全限定的路徑。如果我導入基類命名空間,然後使用部分合格的路徑,似乎很好!

IE瀏覽器...

<MetadataType(GetType(UserListInfoMetaData))> _ 
Partial Public Class UserListInfo 
    Inherits Bob.Fred.Jim.UserListInfo 
End Class 

不行的,但是......

Imports Bob.Fred 

Class XYX 

    <MetadataType(GetType(UserListInfoMetaData))> _ 
    Partial Public Class UserListInfo 
     Inherits Jim.UserListInfo 
    End Class 
    . 
    . 
    . 

End Class 

呢!

相關問題