0

好的,所以我有我的 asp.net 页面,其中包含我所有的比较和必填字段验证器。这让我有两个担忧。

  1. 我需要什么额外的验证?我需要后面的代码中的任何内容吗?我希望他们在他们的文本框信息完成之前无法点击“保存”按钮,并且似乎只使用验证器控件来执行此操作,但我不确定是否需要采取其他步骤。

  2. 如果我有一个必填字段验证器并且我想在特殊情况下将其关闭,我应该在代码隐藏的哪个位置将其设置为 true?我可以在“保存”按钮单击之前执行此操作,然后它会阻止按钮运行吗?

4

4 回答 4

1

据我所知,

  1. 每当我们使用 ASP.NET 验证器时,我们都应该在服务器端(代码隐藏)检查“Page.IsValid”。即使在浏览器上禁用了 javascript,这也将确保在服务器端进行检查。

  2. 不,您不能在单击保存按钮时执行此操作,因为在验证通过之前不会单击按钮单击。

希望这可以帮助!!

于 2012-09-05T17:43:39.783 回答
1

1.

您需要尽可能多的验证,您可以创建许多不同的验证器。您需要在后面的代码中进行服务器端验证。如果发生回发,则表单通过了验证,但有一些验证功能在客户端无法使用。例如,您注册到主页,并且您有一个需要用户名的表单,并且还有一个正则表达式验证器。这些验证器将在客户端运行。但是,如果用户名必须是唯一的,并且您只能使用数据库进行检查,那么显然无法在客户端进行检查,因此,客户端将评估页面是否有效,将发生回发并且检查用户名是否唯一是服务器端的工作。

请注意,如果您需要做任何奇特的事情,您可以创建自定义验证器。

2.

根据您的需要,您可以在需要时设置验证器的 Enabled 属性。在此处阅读更多相关信息。

于 2012-09-05T18:17:35.427 回答
1

1 如果你想添加验证服务器

protected void Button1_Click(object sender, EventArgs e) {

//Proceed only if the validation is successfull
if (!Page.IsValid) {
 return;}

}

2 您可以设置CausesValidation="false"为按钮

于 2012-09-05T17:46:40.273 回答
0

Page.IsValid 的第一个问题是可以的。

requiredfieldvalidator 是一个 javascript 验证器,因此一旦启用,您就无法从代码隐藏中禁用它(除非它满足条件并且您可以通过)。但可以通过 javascript 禁用它,请检查以下代码:

ValidatorEnable(workPhoneValidator, false);

链接:根据 DropDownList 的值动态启用或禁用RequiredFieldValidator

于 2012-09-06T12:55:58.890 回答