我在我的web api项目中添加了一个过滤器,以验证从客户端传递的所有模型。为了验证模型,我正在使用数据注释。除非我使用RegularExpression注释,否则它似乎都能正常工作。
这是我在api中的过滤器:
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (actionContext.ModelState.IsValid == false)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(
HttpStatusCode.BadRequest, actionContext.ModelState);
}
}
这是未正确验证的模型属性:
[Required]
[MinLength(8)]
[StringLength(255)]
[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)", ErrorMessage = "Password must contain at least one capital letter and one number")]
public string Password { get; set; }
无论我在字符串中传递什么值,我都会收到错误。任何有关这方面的帮助将不胜感激。
答案 0 :(得分:0)
试试这个:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).*$
当密码格式正确时,Prob表达式返回null
。