2014-03-31 52 views
0

我有一个邮政编码的文本框,其中我做了一个验证,即用户输入的数字少于或多于6,但即使用户输入了3个数字,它仍在工作。我想要显示错误消息,如果用户进入不对劲如何验证TextBox?

Private Shared Function ValidateZip(ByVal pintZip As String, ByRef pobjErrMsg As Common.ErrorMessage) As Boolean 
     If pintZip.Length <> 6 Then 

     ElseIf IsNumeric(pintZip) Then 

     End If 

     Return True 
End Function 
+0

所以你写的'如果pintZip.Lenght <> 6 Then'然后呢? – Hoh

+0

我上面提到过,如果用户输入错误的邮政编码,我想显示一条错误消息 – anuj

回答

0

你必须在任何IF或ELSEIF块没有代码,你总是返回true

+0

我想向用户显示一个错误,然后我实现了这个错误 – anuj

+0

您可能会使用MessageBox类显示错误,或者您可能会产生一个自定义窗体来显示错误... MessageBox是最简单的,但看起来不那么好或者很灵活。 Hoh的答案看起来不错... –

0
Private Shared Function ValidateZip(ByVal pintZip As String, ByRef pobjErrMsg As Common.ErrorMessage) As Boolean 
     If pintZip.Length <> 6 Then 
      MsgBox("Zip code should have 6 characters") 
      pintZip.Focus 
      Return False 
     ElseIf IsNumeric(pintZip) Then 
      MsgBox("Congratulations, you have entered right Zip code") 
      Return True 
     End If 
End Function 

尝试这样

更新#1

好像你正在使用ASP.net没有VB.net,这里是答案:

不能显示对话框从ASP.NET应用程序服务器,这是没有意义的,因为你的用户正在使用浏览器,并且无法在服务器上看到消息框。你必须了解网站是如何工作的,服务器端代码(在你的情况下为ASP.NET)会在服务器上生成html,javascript等,然后浏览器加载该内容并将其显示给用户,所以为了将模式消息框呈现给用户必须使用Javascript,例如警报功能。

这里是asp.net的例子:

example

SOURCE

+0

我试过bt我有错误 System.InvalidOperationException:当应用程序未在UserInteractive模式下运行时,显示模态对话框或窗体不是有效的操作。指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知。 – anuj

+1

你在使用ASP.net吗?做浏览器应用程序 – Hoh

+0

是的,我做浏览器应用程序 – anuj