验证数字文本框条目Asp.Net

验证数字文本框条目Asp.Net,asp.net,web-applications,Asp.net,Web Applications,在Asp.Net或Web developerNT中,验证页面上文本框的最佳方法是什么。TextChange事件服务器端发生在您离开textbox之后,已经太晚了。我打算在服务器端使用Double.TryParse。公认的最佳实践是使用验证器控件 可以通过将更改为DataTypeCheck来验证数据类型 您也可以使用一个相同的效果 如果您需要执行类型检查并确保值在指定范围内,则可以使用。检查并使用有一个名为RegularExpressionValidator的控件。您在“工具箱”中的“验证程序”选

在Asp.Net或Web developerNT中,验证页面上文本框的最佳方法是什么。TextChange事件服务器端发生在您离开textbox之后,已经太晚了。我打算在服务器端使用Double.TryParse。

公认的最佳实践是使用验证器控件

可以通过将更改为DataTypeCheck来验证数据类型

您也可以使用一个相同的效果

如果您需要执行类型检查并确保值在指定范围内,则可以使用。

检查并使用有一个名为RegularExpressionValidator的控件。您在“工具箱”中的“验证程序”选项卡下找到了该控件。使用我发布的控件读取链接,并且只允许使用数值ValidationExpression=\d+


希望我的回答能帮助您解决问题。

如果您使用的是Web表单,我建议您使用。确保将验证器的Type属性指定为Double,并将DataTypeCheck属性指定为DataTypeCheck。如果您希望启用客户端验证,请将True分配给EnableClientScript属性。我希望这有助于


Zen

如果您想验证客户端,您需要查看一个JavaScript解决方案,如。您仍然需要在数据服务器端验证/键入cast,但这将在客户端键入数据或尝试提交数据时捕获错误并向其发出警报!如果他们禁用了javascript怎么办?@Zachary-只使用客户端验证是个坏主意,除非你想让自己暴露在攻击面前。它太容易被绕过,任何值得攻击的人都知道如何绕过它。您需要在服务器和客户端进行验证。客户端对于更好的用户界面很好,但对于实际防止攻击却不好。@DavidStratton我100%同意,这就是为什么我提到他们仍然需要在服务器上验证/键入cast。客户端非常适合显示客户端,但却无法减轻攻击!我大概有10个文本框,那么我能用一个比较器吗?这是在输入时验证的吗?不是。验证控件都验证单个输入控件。如果您想用一个函数验证所有这些功能,可以通过客户端上的JavaScript进行验证,但不推荐这样做。如果攻击者设置要发布到您的页面的页面,则客户端仅验证IPN会使您对未验证的输入打开。验证控制使用在客户端和更重要的是在服务器上进行验证的安全最佳实践,这在涉及安全性时是至关重要的。绕过javaScript太容易了。使用控件10次其实并不难。