我有一个用VB构建的ASP.NET MVC5应用程序。 我有一个表单,将数据提供给viewmodel,我想将服务器端验证添加到字段Age,但仅限Alive为true。 这是我的模特:
Public Class MyViewModel
Public Property Name As String
Public Property Age As Integer
Public Property Alive As Boolean
End Class
我在SO上发现了this和this问题。 VB没有Yield,所以我尝试了以下内容:
Public Function Validate(validationContext As ValidationContext) As Enumerable(Of ValidationResult) Implements IValidatableObject.Validate
Dim results As List(Of ValidationResult) = New List(Of ValidationResult)
If Alive And Age > 120 Then
results.Add(New ValidationResult("Too old."))
Else
results.Add(ValidationResult.Success)
End If
Return results
End Function
现在,我得到一个空引用异常。 如何在VB中实现条件验证?