フォームの挿入されたデータの有効性をチェックする関数があります。この関数では、ユーザーから何らかの確認を求めなければなりません。この確認には関数の外部で尋ねる必要があります私はこの確認の一つを打ち、私はメッセージを作成し、検証関数を送信する、ユーザーの確認かどうか、関数は再び呼び出されるだろう関数のチェックポイント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