У меня есть код, подобный следующему:требующие наследуемые свойства, используя DataAnnotations
Imports System.ComponentModel.DataAnnotations
Class Person
Dim _ssn As String = ""
Public Overridable Property SSN(format As Boolean) As String
Get
If format Then
' Return formatted SSN
Else : Return _ssn
End If
End Get
Set(value As String)
_ssn = value
End Set
End Property
End Class
Class Employee
Inherits Person
<Required()>
Public Overrides Property SSN(format As Boolean) As String
Get
Return MyBase.SSN(format)
End Get
Set(value As String)
MyBase.SSN(format) = value
End Set
End Property
End Class
Когда я использую Validator.ValidateObject() класса Employee, он проверяет только штраф, даже если свойство ПЛА нечего.
Любые идеи, почему требуемый атрибут не работает?
Благодаря
'дим е = Новый сотрудник()' 'Validator.ValidateObject (е, New ValidationContext (е))' 'результаты в ValidationException: Поле SocialSecurityNumber является required.' для меня. – Mark
Хм, это странно. Я только что создал новый проект с моим примером, и он работает для меня тоже. Я собираюсь исследовать немного больше, чтобы увидеть, что в моем фактическом проекте заставляет это не работать. – pvdjay
Хорошо, я обнаружил, что не хватает, что вызывает описанное поведение. Свойство номера социального обеспечения на самом деле является параметризованным свойством. Я обновлю его в вопросе. – pvdjay