public Validator(IAdminUserService adminUserService) { RuleFor(x => x.UserName).NotEmpty().MaximumLength(20).WithName("账号") .MustAsync(async(account, cancel) => { var res = await adminUserService.AnyByAccountAsync(AccountMode.UserName, account, 0, cancel); return(!res); }) .WithMessage(c => $"该账号已存在。"); RuleFor(x => x.Mobile) .NotEmpty() .Matches("^[1][3-9]\\d{9}$").WithMessage("手机号格式不正确。") .MustAsync(async(account, cancel) => { var res = await Web.GetService <IAdminUserService>().AnyByAccountAsync(AccountMode.Mobile, account, 0, cancel); return(!res); }) .WithMessage(c => $"该手机号码已存在。"); RuleFor(x => x.Password).NotEmpty().MaximumLength(30).WithName("密码"); RuleFor(x => x.Name).NotEmpty().MaximumLength(20).WithName("名字"); RuleFor(x => x.Company).NotEmpty().MaximumLength(30).WithName("公司"); RuleFor(x => x.Location).NotEmpty().MaximumLength(30).WithName("位置"); RuleFor(x => x.Name).NotEmpty().MaximumLength(20).WithName("名字"); }
/// <summary> /// 检查账号或者手机号是否存在 /// </summary> /// <param name="accountMode"></param> /// <param name="account"></param> /// <param name="notId"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <Result <bool> > GetUserAnyAsync(AccountMode accountMode, string account, long notId, CancellationToken cancellationToken = default) { var res = await adminUserService.AnyByAccountAsync(accountMode, account, notId, cancellationToken); return(RestFull.Success(data: res)); }