我的字段验证似乎不起作用!我错过什么了吗?
本文关键字:什么 错过 验证 字段 不起作用 我的 | 更新日期: 2023-09-27 18:16:38
我正在尝试验证字段,因此用户不能使用空字段输入数据。问题是我仍然在添加空字段,所以我的验证不起作用。
首先,我要检查类型是从组合框中选择的。然后我检查用户是否选择了哪种类型,然后根据类型,我在输入数据之前检查字段是否为空字符串。
我错过什么了吗?
private void btnAddEntry_Click(object sender, EventArgs e)
{
// Multiple level field validations.
if (cmbType.SelectedIndex != -1)
{
if (cmbType.SelectedIndex == 0 &&
(txtUserName.Text != string.Empty ||
txtPassword.Text != string.Empty))
{
string SQL =
"INSERT INTO PersonalData([Type], [UserName], [Password]) " +
"VALUES(@Type, @UserName, @Password)";
InsertData(SQL);
}
else if (cmbType.SelectedIndex == 1 &&
(txtURL.Text != string.Empty ||
txtUserName.Text != string.Empty ||
txtPassword.Text != string.Empty))
{
// Creating SQL string. Using [] will prevent any erros
// that might occur if any other names will be reserved words.
string SQL =
"INSERT INTO PersonalData([Type], [URL], [UserName], [Password]) " +
"VALUES(@Type, @URL, @UserName, @Password)";
InsertData(SQL);
}
else if (cmbType.SelectedIndex == 2 &&
(txtSoftwareName.Text != string.Empty ||
txtSerialCode.Text != string.Empty))
{
// Creating SQL string. Using [] will prevent any erros
// that might occur if any other names will be reserved words.
string SQL =
"INSERT INTO PersonalData([Type], [SoftwareName], [SerialCode]) " +
"VALUES(@Type, @SoftwareName, @SerialCode)";
InsertData(SQL);
}
else
{
lblMessage.Text = "Please fill out all required fields!";
}
}
else
{
lblMessage.Text = "Please select a type first!";
}
}
您确定要或潜在的领域,而不是和他们?例如,
else if (cmbType.SelectedIndex == 1 &&
(txtURL.Text != string.Empty &&
txtUserName.Text != string.Empty &&
txtPassword.Text != string.Empty))
将只允许您插入数据,如果url,用户名和密码有一个值-使用或只有一个值需要在插入调用之前填写,这意味着您可以有一个有效的url,但没有输入密码和用户名
!string.IsNullOrEmpty(txtUserName.Text.Trim())
&& !string.IsNullOrEmpty(txtPassword.Text.Trim())
像这样的检查:
if(txtUserName.Text != string.Empty)
如果用户在txtUserName
中输入两个空格,则传递。
你应该把你所有的支票都改成
if(txtUserName.Text.Trim() != string.Empty)
对.Trim()
的调用将删除任何尾随空格,然后然后检查是否有任何剩余....