validation - 如何将一个错误提供程序应用于所有空文本框 VB.net 2010

标签 validation error-handling textbox string

我有这个代码块,使用了太多分配给每个文本框的错误提供程序。有没有其他方法(或更短的方法)特别是为所有文本框设置一个错误提供程序?

If txtHolidayName.Text = "" Then
    ErrorProvider2.Clear()
    ErrorProvider3.Clear()
    ErrorProvider1.SetError(txtHolidayName, "Holiday name is required!")
    txtHolidayName.Focus()
ElseIf dtpHoliday.Value < Date.Today And txtHolidayName.Text <> "" Then
    ErrorProvider1.Clear()
    ErrorProvider3.Clear()
    ErrorProvider2.SetError(dtpHoliday, "Holiday date must be greater than the current date!")
    dtpHoliday.Focus()
ElseIf txtHolidaySalary.Text = "" And dtpHoliday.Value > Date.Today Then
    ErrorProvider1.Clear()
    ErrorProvider2.Clear()
    ErrorProvider3.SetError(txtHolidaySalary, "Holiday salary is required!")
    txtHolidaySalary.Focus()

最佳答案

看一下这个....

Private Sub TextBox_Validating( sender As System.Object,  e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating, TextBox2.Validating, ComboBox1.Validating
    Dim ctl As Control = CType(sender, Control)
    If ctl.Text = ""
        e.Cancel = True
        ErrorProvider1.SetError(ctl,"Please enter a value")
    End If
End Sub

在私有(private)子部分 - 将 textbox2.validating 更改为您的控件名称。然后用这个来调用这个函数......
ErrorProvider1.Clear()
If Me.ValidateChildren()
    ' continue on
End If

我没有这样做。约翰·科尔纳做到了。这是链接
Check for empty TextBox controls in VB.NET

关于validation - 如何将一个错误提供程序应用于所有空文本框 VB.net 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28642446/

相关文章:

c# - 如何在自定义模型 Binder 中验证我的模型?

jQuery 验证多个不相等的输入

jsf - JSF 和 Richfaces 中的错误消息

javascript - node.js 中有问题的 socket.parser.resume() 错误

python-3.x - python 3 : Shared packages: Returning results and errors from imported functions

c# - 文本框输入从右到左,左侧为负号 "-"

python - 如何在调整/缩小 tkinter 应用程序窗口时保持小部件可见

java - 您使用什么来验证 XML 模式?

python-3.x - 试试,除了,再试一次?

c# - 如何以线程安全的方式将控制台程序的输出重定向到文本框?