Asp.net 如何以vb.net代码的形式转换存储在数据库中的规则?
我们需要将规则存储在数据库表中,并根据这些规则在运行时验证某些属性 下表描述了类似的结构,我们将从中提取属性名称及其各自的规则,以根据规则ID进行评估 示例:如果我想验证属性FirstName,我需要检查FirstName属性是否不应为null,并且必须包含一些值。如果该属性没有任何数据,则需要对此属性抛出错误Asp.net 如何以vb.net代码的形式转换存储在数据库中的规则?,asp.net,database,vb.net,Asp.net,Database,Vb.net,我们需要将规则存储在数据库表中,并根据这些规则在运行时验证某些属性 下表描述了类似的结构,我们将从中提取属性名称及其各自的规则,以根据规则ID进行评估 示例:如果我想验证属性FirstName,我需要检查FirstName属性是否不应为null,并且必须包含一些值。如果该属性没有任何数据,则需要对此属性抛出错误 RULE_ID ATTRIBUTE_NAME ATTRIBUTE_RULE ABC123 FirstName <> NULL XYZ34
RULE_ID ATTRIBUTE_NAME ATTRIBUTE_RULE
ABC123 FirstName <> NULL
XYZ345 LastName <> NULL
GHI654 Age <>NULL
POC123 DateOfBirth < Sysdate
QWE675 BloodGroup = A+ve
JKL987 City <> London
IUK134 Occupation = NULL
规则\u ID属性\u NAME属性\u规则
ABC123名字为空
XYZ345 LastName NULL
GHI654年龄无效
POC123出生日期<系统日期
QWE675血型=A+ve
JKL987伦敦城市酒店
IUK134职业=空
由于存储在数据库中的规则将以Varchar(即字符串)形式存在,我们如何转换这些以字符串形式存在的规则并使用vb.net验证代码中的属性
关于这一点,请帮助我。我也有类似的想法,不过您需要根据自己的情况进行调整 基本上,我创建了一系列返回布尔结果的函数 e、 要测试的函数不是空的
Protected Function CheckNotBlank(value As String) as Boolean
If value <> "" then
Return True
Else
Return False
End If
End Function
您需要创建并调整您的函数以适应套件。希望有帮助
Protected Function CheckIsLessThan(value As Integer, compareToValue As Integer) As Boolean
If value < compareToValue Then
Return True
Else
Return False
End If
End Function
Dim ValidFlag as Integer = 0
Dim ErrorStack as New StringBuilder
If CheckNotBlank(MyValueToCheck) = False Then
ValidFlag += 1
ErrorStack.Append("MyValueToCheck is Blank ").Append(vbCrLf)
End If
If CheckIsLessThan(CheckIntegerValue, CompareToIntegerValue) = False Then
ValidFlag += 1
ErrorStack.Append("CheckIntegerValue is greater than CompareToIntegerValue ").Append(vbCRLF)
End If
If CheckNotBlank(AnotherValueToCheck) = False Then
ValidFlag += 1
ErrorStack.Append("AnotherValueToCheck is Blank ").Append(vbCrLf)
End If
......
If ValidFlag > 0 Then
'We have errors
End If