【发布时间】:2011-06-28 08:09:33
【问题描述】:
Previous question which links onto this and has any addition code ref should I forget to link any,如果有人提交此表单并发生错误,我已将其设置为通过电子邮件发送给我电子邮件失败以及输入的内容。
我现在遇到的问题是验证下拉列表和文本框的方式与我使用整数和日期时间字段类似,这样我也可以在电子邮件中显示它们以防出错。
当前整数和日期时间验证
Catch ex As Exception
lblInformation.Text = ("<h4>Unable to save data in database</h4>" + vbNewLine + "The error was '" + ex.Message + "'" + vbNewLine + vbNewLine + vbNewLine + "The SQL Command which falied was:" + vbNewLine + "<strong>" + mySQL + "</strong>" + vbNewLine).Replace(vbNewLine, "<br />" + vbNewLine)
Dim dtb As DateTime
If Not DateTime.TryParse(DateOfBirth, dtb) Then
strEMessageBody.Append("<strong>Date Of Birth:</strong> " & DateOfBirthYear.SelectedItem.Value & "-" & DateOfBirthMonth.SelectedItem.Value & "-" & DateOfBirthDay.SelectedItem.Value & vbCrLf)
strEMessageBody.Append("<br/>" & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab)
End If
Dim iao As Integer
If Not Integer.TryParse(AnyOther, iao) Then
strEMessageBody.Append("<strong>Any Other:</strong> " & rblAnyOther.Text & vbCrLf)
strEMessageBody.Append("<br/>" & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab)
End If
然后在最终验证下方,我有电子邮件设置的 Dim,但我在另一个问题中进行了整理。
问题出现在我之前的页面中
Sub Upload_Click(ByVal source As Object, ByVal e As EventArgs)
If (Page.IsValid) Then
Dim Name As String
这阻止了我只使用上面显示的名称,我会改为将它们称为其他名称,但这不适用于字符串,所以我的主要问题是有一些代码来检查字符串是否有效以及下拉菜单这要么工作,但总是在电子邮件中显示数据,要么会在代码中打嗝,
Dim imd As Integer
If Not Integer.TryParse(dept, imd) Then
strEMessageBody.Append("<strong>Department:</strong> " & dept.Text & vbCrLf)
strEMessageBody.Append("<br/>" & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab)
End If
以下是记录部门的设置方式 部门 = 部门.SelectedItem.Value 部门=替换(部门,“'”,“''”)
总结:- 需要 vb 代码来验证字符串和下拉列表是否有效,使用 try/catch 块是另一种可能的解决方案,但我也无法弄清楚如何实现验证。
【问题讨论】:
-
如果有人提交了无效的表单,它会向您发送电子邮件吗?这简直太疯狂了...让您的代码处理验证,并让他们仅在页面有效时提交...
-
@Matt 已经是这种情况,但是一个用户遇到错误并且他们没有记录错误详细信息,所以我设置它会通过电子邮件发送给我,原始开发人员会输入所有内容从 1 个巨大的 sql 插入命令中的表单开始,并且基本上对此进行了紧急处理,所以我要问的不是疯狂,而是一种快速诊断问题所在的方法。但是,如果您坚持认为这很疯狂,那么请提出替代方案?
-
创建一个名为“tblLog”之类的日志表。如果您的应用程序或 SQL 遇到错误,请将异常内容写入日志记录表。
-
当您说“字符串和下拉菜单有效”时,您到底是什么意思? 1.字符串不应该为null或为空? 2. 下拉菜单应该选择一个值吗? 3. 还有其他验证吗? (请列举)
-
@tzup 以上所有内容以及关于第 3 点的内容,我现在想不出其他任何内容,但如果您知道还有其他合适的验证,那么这些也是。
标签: asp.net vb.net validation