【发布时间】:2022-01-28 04:05:18
【问题描述】:
我有一个非常基本的注册页面,其中包含“电子邮件”、“密码”、“用户名”等文本框字段。 虽然我已经使用了客户端验证器(例如 asp:RegularExpressionValidator),但我还希望有一个强大的服务器端验证。但到目前为止,我只为一个文本字段得到了这个:
if(username.Contains(" ") || string.IsNullOrEmpty(password))
{
//error: invalid username
}
else if (username.length<8)
{
//error: username cannot be shorter than 8 characters
}
else if (username.length>30)
{
//error: username cannot be longer than 30 characters
}
else if (IsUsernameTaken(username))
{
//error: this username has already been taken by someone else
}
else if (something)
{
//some error
}
//etc etc
有没有更好(和更有效)的方法来验证我的控件而不使用上述代码?
编辑:我正在使用 Asp.net Web 表单
【问题讨论】:
-
您没有提到您使用的是哪种 ASP.NET 风格(WebForms、传统 MVC,更现代的东西)。他们中的大多数都有基于属性的验证(通常使用
System.ComponentModel.DataAnnotations中的属性)。看看:docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/… -
@Flydog57 对不起,我忘了提。我使用的是 ASP.NET WebForms
-
WebForms 自诞生之日起(大约 20 年前)就得到了很好的验证。如果我没记错的话,您可以让它将匹配的客户端脚本注入您的页面。看看docs.microsoft.com/en-us/previous-versions/aspnet/…
标签: c# asp.net validation server-side code-behind