2010-08-19 53 views
0

我有一个asp:文本框。在这个文本框的textchange上,我正在对输入的文本进行验证。如果输入的文本不正确,我想刷新输入错误文本的消息。请重新输入。我怎样才能在ASP中做到这一点?如何使用ASP TextBox的Textchange属性

+0

这取决于您是否希望消息在每次按键时立即闪烁,导致无效输入(在这种情况下与Joel的答案一起)或仅当输入提交时(在这种情况下与David的答案一起)。 – 2010-08-19 08:07:06

+0

实际上,如果ClientValidation为true,验证器会在文本框失去焦点时立即执行此操作。 – David 2010-08-19 16:29:39

回答

1

只需使用RegularExpressionValidator并将客户端验证属性保留为其默认“真”值。控件将为您处理这种行为。

下面是与代码行动的例子:http://www.w3schools.com/ASPNET/showasp.asp?filename=demo_regularexpvalidator

+0

澄清 - 假设你想在没有回传的情况下在客户端进行回复,正如@Joel Coehoorn指出的那样,必须进行回发将会是一个不好的用户体验。 – David 2010-08-19 07:09:12

+0

我必须做一个回传。我正在做的验证存储在数据行数组中。因此,我必须比较该数组中的文本值,然后在输入的文本正确或不正确时进行响应。 – gizgok 2010-08-19 17:35:11

+0

那么,如果将客户端验证属性设置为false,则这将与Postback协同工作。我可能会推荐使用Ajax UpdatePanel来隐藏回传? – David 2010-08-19 18:27:58

0

如果可以的话你应该避免使用该属性。您的验证代码只会在您回发到服务器时运行,并且除非您确实需要,否则每次文本更改时都不希望执行完整回发。相反,使用javascript来处理由asp.net在原始HTML中呈现的input元素的onchange事件。然后记得在服务器上复制你的验证码。