当前位置: 首页 > 知识库问答 >
问题:

Visual Basic验证文本框输入

贺跃
2023-03-14

我在验证文本框中的用户输入时遇到了一些问题,我还没有找到解决方案

基本上,该程序是一个BMI计算器,当用户选择“计算”按钮时,我正在尝试验证用户输入的“性别”、“身高”和“体重”。以下是我到目前为止的代码:

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button5.Click
    Dim userBMI As BMI
    userBMI.gender = TextBox1.Text
    userBMI.height = TextBox2.Text
    userBMI.weight = TextBox3.Text
    calculatedBMI = (userBMI.weight / userBMI.height) / userBMI.height
    calculatedBmiLbl.Text = calculatedBMI.ToString("n1")
End Sub

我需要验证这些输入的原因是,例如,如果用户为“高度”输入输入一个字符串或什么都不输入,计算将无法工作,因此程序将中断。我曾想过使用某种形式的布尔变量和循环来解决这个问题,但我对如何做到这一点不是很了解。

如果有人能给我一些帮助,那就太好了。如果有人知道一种更容易实现输入验证的方法,它不一定是布尔值,这正是我所想的,谢谢:

共有2个答案

贲俊才
2023-03-14

try IsNumeric检查输入的文本是否为数值

If(IsNumeric(TextBox2.Text) ANDALSO IsNumeric(TextBox3.Text))
    Dim userBMI As BMI
    userBMI.gender = TextBox1.Text
    userBMI.height = TextBox2.Text
    userBMI.weight = TextBox3.Text

    calculatedBMI = (userBMI.weight / userBMI.height) / userBMI.height
    calculatedBmiLbl.Text = calculatedBMI.ToString("n1")
Else
calculatedBmiLbl.Text = ""
END IF  

或使用Val()方法

If(Val(TextBox2.Text)>0 ANDALSO Val(TextBox3.Text)>0)
    Dim userBMI As BMI
    userBMI.gender = TextBox1.Text
    userBMI.height = TextBox2.Text
    userBMI.weight = TextBox3.Text

    calculatedBMI = (userBMI.weight / userBMI.height) / userBMI.height
    calculatedBmiLbl.Text = calculatedBMI.ToString("n1")
Else
calculatedBmiLbl.Text = ""
END IF      
车峻熙
2023-03-14

以下是检查输入是否输入的验证示例。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button5.Click
    If Len(Trim(TextBox1.Text)) = 0 Then
        MsgBox("Enter Gender", MsgBoxStyle.Exclamation)
        TextBox1.Focus()
    ElseIf Len(Trim(TextBox2.Text)) = 0 Then
        MsgBox("Enter Height", MsgBoxStyle.Exclamation)
        TextBox2.Focus()
    ElseIf Len(Trim(TextBox3.Text)) = 0 Then
        MsgBox("Enter Weight", MsgBoxStyle.Exclamation)
        TextBox3.Focus()
    Else
        Dim userBMI As BMI
        userBMI.gender = TextBox1.Text
        userBMI.height = TextBox2.Text
        userBMI.weight = TextBox3.Text
        calculatedBMI = (userBMI.weight / userBMI.height) / userBMI.height
        calculatedBmiLbl.Text = calculatedBMI.ToString("n1")
    End If
End Sub
 类似资料:
  • 因此,我有一个包含许多的表单,它们都需要填写。我研究了文本框验证,但我只能找到验证单个文本框的说明。下面是单数文本框验证的代码。我只是想知道是否有可能同时打击所有的人,而不是每个人都这样。任何帮助都将不胜感激!

  • 问题内容: 我正在使用JavaFX和Scene Builder,并且有一个带有文本字段的表单。这些文本字段中的三个从字符串解析为双精度。 我希望它们是学校成绩,因此只能将其设置为1.0到6.0之间。不应允许用户写“ 2.34.4”之类的内容,但可以写“ 5.5”或“ 2.9”之类的内容。 验证已解析字段: 如何测试用户输入的值是否正确? 我已经在Stackoverflow和Google上进行了搜索

  • 如何对只接受字母的文本框进行编码

  • 问题内容: 我的JavaScript代码是这样的: 看这里 : 我在文本输入中添加了必填项。但这不起作用如果文本输入为空,则当我单击“提交”时,不需要任何消息 有解决我问题的方法吗? 非常感谢你 问题答案: 您必须做三件事: 确保桌子周围有表格 移动之类的了 将按钮类型从更改为 查看演示- 小提琴

  • 我正在使用kartik文件输入。 我无法验证,即在提供所需文件时仍然显示验证错误。下面是我的代码。文件已正确上载。但仍然显示“请上传一个文件。” 视图: 行动: 模型设置: 上传功能:

  • 主要内容:创建文本域,TextField文本,示例-1,实例-2,实例-3用于单行文本输入。请看下面的示例 - 和字段扩展了类,它是JavaFX中所有文本控件的超类。 上面的代码生成以下结果。 创建文本域 我们可以使用类的构造函数来创建文本字段。 只是一个带有光标的文本输入框,通常我们需要一个控件来告诉文本字段的目的。以下代码创建一个控件来标记对应的文本字段是用于名称输入。然后它创建一个对象。之后,它使用HBox布局和。 使用预定义文本创建文本字段。 TextField