src/Czar.Cms.Admin/Validation/ChangePasswordModelValidation.cs

(完整代码) 1KB


using Czar.Cms.ViewModels;
using FluentValidation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Czar.Cms.Core.Extensions;

namespace Czar.Cms.Admin.Validation
{
    public class ChangePasswordModelValidation : AbstractValidator<ChangePasswordModel>
    {
        public ChangePasswordModelValidation()
        {
            CascadeMode = CascadeMode.StopOnFirstFailure;
            RuleFor(x => x.Id).NotNull().GreaterThan(0).WithMessage("用户信息获取异常");
            RuleFor(x => x.OldPassword).NotEmpty().Length(4, 32).WithMessage("旧密码不能为空且长度必须符合规则");
            RuleFor(x => x.NewPassword).NotEmpty().Length(4, 32).WithMessage("新密码不能为空且长度必须符合规则")
                .Must(NewNotEqualsOld).WithMessage("新密码不能跟旧密码一样");
            RuleFor(x => x.NewPasswordRe).NotEmpty().WithMessage("重复密码不能为空").Must(ReEqualsNew).WithMessage("重复密码必须跟新密码一样");

        }

        /// <summary>
        /// 判断新旧密码是否一样
        /// </summary>
        /// <param name="model">实体对象</param>
        /// <param name="newPwd">新密码</param>
        /// <returns>结果</returns>
        private bool NewNotEqualsOld(ChangePasswordModel model , string newPwd)
        {
            return model.OldPassword!=newPwd;
        }

        /// <summary>
        /// 判断新密码与重复密码是否一样
        /// </summary>
        /// <param name="model"></param>
        /// <param name="newPwdRe"></param>
        /// <returns></returns>
        private bool ReEqualsNew(ChangePasswordModel model, string newPwdRe)
        {
            return model.NewPassword == newPwdRe;
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。