【发布时间】:2015-02-10 05:57:41
【问题描述】:
我只是在想是否有任何快速而好的方法来验证我的模型中的属性。我知道有像 RegEx 这样的东西,但有没有更简单的选择?
例如:
我的用户模型:
namespace Models
{
public class Users : EntityBase
{
public virtual string Username { get; set; }
public virtual string Password { get; set; }
public virtual Role Role { get; set; }
}
}
EntityBase:(所有模型都继承的一个 guid 属性)
using System;
namespace Models
{
public class EntityBase
{
public virtual Guid Id { get; set; }
}
}
在我的情况下,我应该如何对 WebService.cs 文件进行验证?
public class LambdAlarmWebService : WebService
{
[WebMethod(EnableSession = true)]
public HttpStatusCode Login(string username, string password)
{
var factory = SessionFactory.Instance;
var session = factory.OpenSession();
var result = session.QueryOver<Users>().List<Users>();
var user = result.FirstOrDefault(u => u.Username.ToUpper() == username.ToUpper());
if (user != null && (username.ToUpper() == user.Username.ToUpper() && password == user.Password))
{
Session["Role"] = user.Role.Name;
Session["UserId"] = user.Id;
return HttpStatusCode.Accepted;
}
return HttpStatusCode.NotFound;
}
}
所以如果我希望用户名至少包含 3 个字符并且只有字母数字符号(没有!%&),我该怎么做?
【问题讨论】:
标签: c# asp.net .net regex nhibernate