asp.net mvc datannotation唯一字段
问题描述:
我跟着http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx。直到服务器端是好的,但我将如何应用客户端验证独特的字段验证方案,例如说用户名。我想拥有唯一的用户名。asp.net mvc datannotation唯一字段
答
从你的ASP.NET MVC的页面,你可以访问你的服务层如下:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="UserService.svc" />
</Services>
</asp:ScriptManager>
然后,为了用它做什么:
function ValidateUsername() {
var username = $get("tbUsername").value;
MyNamespace.UserService.ValidateUser(username, OnComplete);
}
function OnComplete(results) {
// Your result handling
}
答
你不能真的希望进行客户端验证,以确保提供的用户名是唯一的(与您可以验证他们在文本框中输入整数的方式不同)。你必须做一个回发来检查服务器端的用户名和数据库。如果您想避免回发,您可以使用Ajax在用户输入用户名后(例如当文本框失去焦点时)在数据库中检查用户名。
好的我可以做到这一点,而不会中断我的dataannotation验证 – maztt 2010-06-22 08:44:23