我遇到了一个问题,即在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>
答案 0 :(得分:1)
您还需要为Button / Link控件提供标记。
不应在TextBox控件上使用'CausesValidation'属性。
您点击的按钮需要将该属性设置为“True”。
请提供该标记,然后我可以建议备用服务器端验证。
答案 1 :(得分:0)
要启用客户端验证,请在EnableClientScript="true"
上设置RequiredFieldValidator
。
您也应该始终在服务器端进行验证。但是RequiredFieldValidator
不允许你做任何特殊处理服务器端。只需检查是否Page.IsValid()
。如果未提供该字段,则会返回false
。
如果您想进行自定义验证,请使用CustomValidator
。