양식의 삽입 된 데이터의 유효성을 검사하는 함수가 있는데이 함수에서 사용자로부터 일부 확인을 요청해야하며이 확인은 함수 외부에서 요청해야합니다. 나는이 확인 중 하나를 명중하고, 나는 메시지를 창조하고, 사용자 확인 또는 아닙니다 기능을 보낸다. 기능은 다시 불릴 것이다함수의 체크 포인트 VB.NET
그래서 여기에서 문제는이다 : 나는 나의 기능에있는 몇몇 검문소를 두어야한다 그래서 유효성 검사 함수를 호출합니다. 사용자가 선택한 확인을 사용하여 해당 검사 점으로 건너 뛰고 해당 검사 점에서 유효성 검사 함수를 실행합니다.
1 : 이것은 모두 가능합니까?
2 : 이것을 수행하기위한 아이디어는 무엇입니까?
편집 1 : 비즈니스 계층에서이 유효성 검사를 수행하고 거기에서 메시지 상자를 표시 할 수 없습니다. 메시지를 만들어 UI 레이어로 반환하면 사용자 및 함수 호출에서 다시 응답합니다. 나는이 객관적 대답은 아니지만 도움이 될 수
Public Class BL
Private Queue As Queue(Of String)
Public Sub New()
Dim checkpoints = New String(){"CheckPoint1","CheckPoint2","CheckPoint3"}
checkpoints.ToList.ForEach(Function(item) <b>Queue.Enqueue(item)</b>)
End Sub
Public Function Func(ByVal res As Response,ParamArray ByVal params As String()) As Response
Dim response As Response
Dim chk = Queue.Dequeue()
GoTo chk
CheckPoint1:
'Do some stuff
response = New Response(Response.ResponseType.Message,"Are you sure you wanna do this?")
Return response
CheckPoint2:
If(res.Type = Response.ResponseType.ResponseBack)
Dim r As DialogResult = Convert.ChangeType([Enum].Parse(GetType(DialogResult),res.Message),GetType(DialogResult))
If (r= DialogResult.OK)
'Do stuffs on DialogResult.Yes
Else
'Do stuffs on DialogResult.No
End If
'Do other stuffs with database
End If
' Do other stuff
response = New Response(Response.ResponseType.Message,"You should do this!!OK?")
Return response
CheckPoint3:
'Do stuff like CheckPoint1
End Function
End Class
Public Class Response
Friend Enum ResponseType
Message
Result
ResponseBack
None
End Enum
Friend Message As String
Friend Type As ResponseType
Friend Sub New(ByVal type As ResponseType,msg As String)
Message=msg
Type= type
End Sub
End Class
Public Class Form1
Public Sub New()
' This call is required by the designer.
InitializeComponent()
Dim BL As New BL()
' Add any initialization after the InitializeComponent() call.
Dim rese As Response
Do
rese =BL.Func(Nothing)
BL.Func(new Response(Response.ResponseType.ResponseBack,if(MessageBox.Show(rese.Message).ToString())))
Loop Until rese.Type <> Response.ResponseType.Result
MessageBox.Show(if(rese.Message="True","OK","ERROR"))
End Sub
End Class
@ParrishHusband 함수에서 돌아와서 물건을 다시 호출해야하는데, while 루프를 사용하면 어떻게 할 수 있습니까? – AliTheOne
질문을 조금 다르게 읽었으므로 처음의 While 루프 주석을 무시합니다. 유효성 검사와 함수가 수행해야하는 작업에 대해보다 구체적으로 설명 할 수 있습니까? –
@ParrishHusband 방금 내 질문을 편집했습니다 !! – AliTheOne