Since you are using FluentValidation, you want to use the .Matches validator to execute the regular expression.
RuleFor(x => x.student_id).Matches("^\d{7}$")....
Another option is to do something like this (if student_id is a number):
RuleFor(x => x.student_id).Must(x => x > 999999 && x < 10000000)...
Or you can use the GreaterThan and LessThan validators, but it's easier to read. Also note that if the number is something like 0000001, then the above will not work, you will have to convert it to a string with 7 digits and use the technique below.
if student_id is a string, then something like this:
int i = 0; RuleFor(x => x.student_id).Length(7,7).Must(x => int.TryParse(x, out i))...
source share