gpt4 book ai didi

c# - 使用正则表达式在 Controller 中进行验证

转载 作者:行者123 更新时间:2023-11-30 15:14:43 36 4
gpt4 key购买 nike

开始 对不起,如果我是一个彻头彻尾的菜鸟,但我的任务可能是使用正则表达式来验证用户在注册页面上的输入。我是 100% 的后端,所以我看不到前端。所以我的同学告诉我的是,我应该在 Controller 中使用正则表达式,但我只是在编写 API。是否可以在 API 中使用 REGEX?我也尝试在我的模型中指定一些东西,比如

public string email { get; set; }
[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]

但是当我更新我的数据库并检查我的数据库中的 SQL 时,它不会说任何这些东西,当我发送带有用户数据的发布请求时,它只允许我输入任何东西作为电子邮件地址。对不起,如果我没有清楚地描述一些东西,我希望任何人都可以帮助我。我认为我们可以放弃正则表达式并使其成为完整的前端检查,但很高兴知道将来如何做到这一点。 :)

最佳答案

注解必须在属性之前

[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string email { get; set; }

通过这种方式,您的验证必须有效

你也可以使用正则表达式

    [RegularExpression(@"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[A-Z0-9.-]+\.[A-Z]{2,}$", 
ErrorMessage = "Characters are not allowed.")]

编辑:也在您的 Action 方法中

[HttpPost]
public IActionResult Post(string email)
{
if (ModelState.IsValid)
{
//return success result
}

return BadRequest(ModelState);
}

关于c# - 使用正则表达式在 Controller 中进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53875308/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com