我想进行客户端验证,以便在没有往返服务器的情况下快速响应用户。
我还希望通过相同的验证来保护业务和数据访问层 上的代码。
如何在ASP.NET中实用地重用这种代码?
(注意:ASP.NET,C#3.0,.NET 3.5,Visual Studio 2008)
答案 0 :(得分:1)
我不知道是否有适合常规asp.net的东西,但您可能想要检查这个开源项目是如何进行的:http://xval.codeplex.com/。注意,我还没有真正使用它,所以我不确定它有多好。
答案 1 :(得分:0)
对于用户界面:
您可以调用方法/属性Page.IsValid,然后,如果返回false,则检查验证器并手动打印其错误字符串。或者只是做你自己的错误处理,无论你认为合适。
即:
protected void OnSomeEvent(object sender, EventArgs e)
{
if (!Page.IsValid)
{
ErrorMessage.Text = "your socks are the wrong colour";
return;
}
// Continue processing.
}
假设显示错误的简单文字。显然可以根据自己的需要量身定制。
答案 2 :(得分:0)
构建验证项目为其提供一个Web服务接口,以便您可以使用ajax调用, here is a tutorial,然后将其添加到您的商务图层和您的Dal图层。那么你的所有代码都可以使用相同的验证码。
答案 3 :(得分:0)
一个友好的警告,不要指望你的努力太成功。这个article很好地描述了你在集中和避免重复代码时所看到的神秘“业务层”的谬论。结果是,你所谈论的那种统一往往难以证明是合理的。