使用RegularExpression注释验证模型
本文关键字:模型 验证 注释 RegularExpression 使用 | 更新日期: 2023-09-27 18:28:22
我在我的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; }
无论我在字符串中传递什么值,我都会不断收到错误。如有任何帮助,我们将不胜感激。
试试这个:
^(?=.*[a-z])(?=.*[A-Z])(?=.*'d).*$
当密码格式正确时,探测表达式是否返回null
。