回发后验证

时间:2010-02-17 15:47:39

标签: asp.net validation

我有一个将记录插入数据库的表单。该表单有两个必填字段,其中分配了RequiredFieldvalidators和一个插入按钮。单击“插入”按钮后,将向DB添加条目,并清除文本框。但是当在回发后重新加载页面时,验证就会启动。有没有办法在回发后将页面设置为有效?

2 个答案:

答案 0 :(得分:2)

我听起来你可能没有正确使用验证器。您不能依赖客户端验证来确保您的输入正常 - 您需要在客户端和服务器端进行验证。如果用户关闭了javascript,那么根本就没有客户端验证,所以如果你没有检查服务器,你只需要将他们的原始输入插入到数据库中。

验证邮件 在回发后显示,告诉您何时有无效输入 - 这是他们的主要功能。发布前发布的客户端消息只是启用javascript的浏览器的便利。

在将任何内容插入数据库之前,您需要使用以下模式检查所有验证器:

if (Page.IsValid)
{
   // Insert into database
}

如果验证器无效,则页面将返回而不插入任何内容,并显示验证器消息。如果一切确实有效,那么消息将不会显示 - 但无论您运行什么代码,如果输入无效,消息都会显示。

答案 1 :(得分:-2)

验证者需要验证数据之前回发,因此在回发后页面必须有效。

<强>更新 如果在插入按钮单击后将记录添加到数据库 - 这意味着页面有效。 Page.IsValid用于在几种情况下检查服务器端,并且客户端验证必须是出错。