gpt4 book ai didi

c# - 如何仅验证 7 位数字?

转载 作者:太空狗 更新时间:2023-10-29 22:09:30 28 4
gpt4 key购买 nike

我正在使用 mvc。所以我想验证用户输入的数字是 7 位数字。

所以我写了一个类。

 public class StduentValidator : AbstractValidator<graduandModel>
{
public StduentValidator(ILocalizationService localizationService)
{
RuleFor(x => x.student_id).Equal(7)
.WithMessage(localizationService
.GetResource("Hire.graduand.Fields.student_id.Required"));
}

但它不起作用。如何验证 7 位数字?

最佳答案

由于您使用的是 FluentValidation,因此您希望使用 .Matches 验证器来执行正则表达式匹配。

RuleFor(x => x.student_id).Matches("^\d{7}$")....

另一个选择是做这样的事情(如果 student_id 是一个数字):

RuleFor(x => x.student_id).Must(x => x > 999999 && x < 10000000)...

或者,您可以使用 GreaterThan 和 LessThan 验证器,但上面的代码更易于阅读。另请注意,如果一个数字类似于 0000001,那么上面的方法将不起作用,您必须将其转换为 7 位数字的字符串并使用下面的技术。

如果 student_id 是一个字符串,那么是这样的:

int i = 0;
RuleFor(x => x.student_id).Length(7,7).Must(x => int.TryParse(x, out i))...

关于c# - 如何仅验证 7 位数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907242/

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