How to validate only 7 digit number?

you can use Regex for that

bool x = Regex.IsMatch(valueToValidate, "^\d{7}$");

Since you're using FluentValidation, you want to use the .Matches validator to perform a regular expression match.

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 could use the GreaterThan and LessThan validators, but the above easier to read. Also note that if a number is something like 0000001 then the above won't work, you'd 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))...