域或业务逻辑层中的错误处理(Vb.Net)

时间:2015-02-19 12:00:49

标签: asp.net vb.net-2010 n-tier-architecture business-logic-layer

我正在为我的ASP.net项目使用3层图层。我在数据库“PaymentTypes”中有一个表,我在列PaymentTypeEN上放置了检查约束,因此用户不会在此列中输入重复值。 我的域层(VB.net)中有代码。

_

Public Function PaymentTypes_DML(ByVal PaymentTypeID As Long?, ByVal PaymentTypeEN As String, ByVal PaymentType As String, _
ByVal UserID As Long?, ByVal ActionCode As String) As Long
Dim iPaymentTypeID As Long? = PaymentTypeID
Dim sPaymentTypeEN As String = PaymentTypeEN
Dim sPaymentType As String = PaymentType
Dim iUserID As Long? = UserID
Dim sActionCode As String = ActionCode
Dim result As Long
result = CLng(PaymentTypesAdapter.DML(iPaymentTypeID, sPaymentTypeEN, sPaymentType, iUserID, sActionCode))
Return result
End Function

当用户在“PaymentTypeEN”列中输入重复记录时,在表示层(ASP.net表单)上没有发生什么事情ASP.net页面显示丑陋的错误............我想通过显示来处理这些错误用户在这种情况下预先定义了一些消息... .like ......“你不能输入重复值,请输入其他值。”.....................。我如何处理域层或演示文稿中的错误ObjectDataSource的图层。

1 个答案:

答案 0 :(得分:0)

验证通常必须在多个层复制。将其主要放在业务层中有很大的优势。这允许ui中的验证使用业务逻辑进行独立于DAO层的验证。

这确实意味着您的检查约束可能无关紧要,因为您无论如何都必须在业务层中复制它的功能。

您可能必须创建一个调用数据层的validate()方法,搜索具有相关PaymentTypeEN的其他记录。