我有大约6或7个文本框需要验证,以确保它们不是空的服务器端代码。所以我通常这样做,检查每个文本框1,以确保它们不是空的。有没有其他有效的方法来做到这一点?我已经搜索过,并发现将所有文本框添加到列表中并使用每个文本框是一种更好的方法。有没有其他方法可以实现这一目标?感谢名单很多提前:)高效/简单的方法来验证空文本框?
回答
只是检查它们各自单独地:
if (string.IsNullOrEmpty(this.NameTextBox.Text) ||
string.IsNullOrEmpty(this.AddressLine1TextBox.Text) ||
// etc...
)
{
// Handle me
}
或者可能:
void CheckTextBox(TextBox textBox)
{
if (textBox == null)
{
throw new ArgumentNullException("textBox");
}
if (string.IsNullOrEmpty(textBox.Text))
{
// Handle me
}
}
void Validate()
{
CheckTextBox(this.FirstNameTextBox);
CheckTextBox(this.AddressLine1TextBox);
CheckTextBox(this.AddressLine2TextBox);
}
7文本框确实不是很多 - 明确检查每一个保持其简单并确保其他人阅读你的代码知道发生了什么,而混淆集合则增加了另一层间接寻址,并使调试稍微简单一些。
保持简单!
是的,我同意7个文本框没有那么多,按照你的方式保持代码简单。但是如果有15到20个文本框,这种方式有点笨重......但是在一页中15-20个文本框又是一个糟糕的设计:S'编辑:'你的第二个解决方案看起来非常好:) – 2010-10-01 04:38:10
我同意Kragen--由于所有的检查,你的代码可能看起来很“大”,但你确实正在编写程序为了验证这些东西而需要做的事情,所以任何一种巧妙的方法都会减少你写的代码行数实际上不会加快事情的速度。
问题虽然:你必须验证服务器上的文本框?如果您只验证文本框不是空的,我建议使用客户端验证。这将节省您的服务器时间和带宽,因为您的用户将不被允许将表单提交到您的服务器,直到他们的浏览器验证它们不是空的。
您仍然希望在服务器端进行验证(以防他们的浏览器未启用JavaScript或尝试某种恶意行为)。
客户端验证的本机ASP.NET方式涉及向ASPX添加ASP.NET验证标签。其实很简单。下面是MSDN上的例子: http://msdn.microsoft.com/en-us/library/aa479013.aspx#aspnet-validateaspnetservercontrols_topic3
我已经简化他们的代码有点满足您的要求:
<form runat="server">
<asp:TextBox id="TextBox1" runat="server" />
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Name is required!" ControlToValidate="TextBox1" />
<asp:TextBox id="TextBox2" runat="server" />
<asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="Address is required!" ControlToValidate="TextBox2" />
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
</form>
是!我唯一关心的是有恶意的用户。除了我的RequiredFieldValidators完美无缺地完成他们的工作:) – 2010-10-01 04:56:08
- 1. 验证XML文件的简单方法
- 2. 验证空文本框
- 3. 有效的方法来验证XML?
- 4. 简单的方法来显示图像旁边的文本框?
- 5. 高效验证
- 6. 更简单的方法来验证时间戳
- 7. RequiredFieldValidator来验证禁用的文本框
- 8. C#WPF非常简单的文本框验证
- 9. 验证文本框(没有空间)
- 10. 正则表达式验证器不验证空的文本框
- 11. 最简单的方法来验证和读取.net中的xml文件?
- 12. 有没有简单的方法来验证/比较RPM文件的安装?
- 13. 条件验证的单个文本框
- 14. 验证在JavaScript:空的文本框,当单击该按钮
- 15. 有没有简单的方法来验证复制文章是否正确?
- 16. 使用python验证两个CSV文件的最简单方法
- 17. 验证文本框
- 18. 文本框验证
- 19. 文本框验证
- 20. 简单的表单无法验证
- 21. Javascript表单验证 - 文本框检查
- 22. jQuery的表单验证最简单的方法是什么?
- 23. WP7的文本框验证
- 24. 文本框的GridView验证
- 25. 验证文本框的值
- 26. javascript验证的文本框
- 27. JavaScript的文本框验证
- 28. 函数来验证对空白或默认文本文本框中
- 29. 替换文本中多个单词的高效方法
- 30. 表单验证为空无线电输入,空文本输入和最高值
为什么你不能与RequiredFieldValidator的尝试 – anishMarokey 2010-10-01 04:38:22
RequiredFieldValidators使用,以及在客户端代码。这是JavaScript可以很容易被禁用,我也选择做服务器端验证。 – 2010-10-01 04:40:44