服务器端验证

时间:2011-08-16 13:46:25

标签: asp.net

我遇到了一个问题,即在ASP.net页面上没有工作的requiredfieldvalidator控件。我已经正确完成了该字段的属性,但是当我测试它时,即使相关字段为空,也允许回发。

所以我想做服务器端验证。最好的方法是什么?如果导致回发?此外,如果我发现该字段为空白,如何让用户返回到屏幕,其中包含其他字段的所有其他值,并且显示“此字段不能为空”的消息。

编辑:

这是代码:

<asp:TextBox ID="fName" TabIndex="1" runat="server" Width="221px" CausesValidation="True"></asp:TextBox>
<asp:RequiredFieldValidator ID="FNameRequiredFieldValidator" runat="server"        ControlToValidate="fName" InitialValue="" ErrorMessage="Filter Name cannot be blank."        ToolTip="Filter Name cannot be blank.">*</asp:RequiredFieldValidator> 

2 个答案:

答案 0 :(得分:1)

您还需要为Button / Link控件提供标记。

不应在TextBox控件上使用'CausesValidation'属性。

您点击的按钮需要将该属性设置为“True”。

请提供该标记,然后我可以建议备用服务器端验证。

答案 1 :(得分:0)

要启用客户端验证,请在EnableClientScript="true"上设置RequiredFieldValidator

您也应该始终在服务器端进行验证。但是RequiredFieldValidator不允许你做任何特殊处理服务器端。只需检查是否Page.IsValid()。如果未提供该字段,则会返回false

如果您想进行自定义验证,请使用CustomValidator