2009-10-08 40 views
0

我想知道在asp.net中使用现有方法调用验证用户输入的首选方法是什么。我现在已经实现了这几种方式,并且在他们工作的同时,我感觉可能会有更好的或“最佳”的方法?推荐使用现有方法验证ASP.net控件的方法是什么?

我有一个asp.net文本框

<asp:TextBox ID="myTextBox" runat="server" /> 

我也有一个现有的objec提供给我的方法,该表格将最终填充和保存夫妇

public static bool IsNameValid() 
public bool IsValid() 

我想知道人们如何将这些项目连接到验证控件(我假定使用customValidator?)。我想避免在JavaScript中重写验证(以避免重复代码)。

回答

1

使用CustomValidator,并将EnableClientScript属性设置为false,强制它转到服务器进行验证。然后在自定义验证器的ServerValidate方法中,将args.IsValid属性设置为上述方法的结果。

使用验证程序的好处是,当您转到表单的“提交”方法时,可以围绕If Page.IsValid()块封装最终处理逻辑,这将确保所有验证程序返回在处理之前为真。

+1

所以你必须包装你的提交点击if语句然后呢?有没有这样做的方法,你不必这样做? – ChrisHDog

+1

不是。即使你在页面上有验证器,页面提交仍然会发生,无论它们是否回复有效。通常,验证器会自行触发,特别是在生成客户端脚本时,并且根据它们是否有效将他们的状态设置为true或false。由您决定是否处理验证器数据。 –

+0

感谢Dillie-O,这是很棒的信息 - 非常有帮助 – ChrisHDog

相关问题