任务48:Identity MVC:Model后端验证

RegisterViewModel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations; namespace MvcCookieAuthSample.ViewModels
{
public class RegisterViewModel
{
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required]
[DataType(DataType.Password)]
public string ConfirmedPassword { get; set; }
}
}

创建LoginViewModel

LoginViewModel

这里只需要Email和Password这两个字段

修改后:

修改Login.cshtml

把登陆的时候的错误信息加上。

在AccountController里面Login的时候进行判断

ModelState.IsValid去验证传过来的model类。这样model的错误直接会在页面上显示

运行效果

打开登陆页面,直接点击登陆,就会提示错误信息了

Register也增加model的验证

注册页面的效果

注册的时候,这里可以把这几个都开启,这样密码的规则就要求比较严格了

把这些选项都开启。然后设置密码至少是12位的

再设置:asp-validation-summary="All"

运行

然后就啥也没有,也没有提示信息

在上面封装一个私有的方法

    private void AddErorrs(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError(string.Empty, error.Description);
}
}

再次运行 程序

当我们都输入值,但是password输入的格式比较简单的时候。例如输入了 6个1

密码必须12位以上,

必须有一个非字符的

至少要包含一个a到z的字母,

至少要包含一个大写A到大写Z的字母

以上就是我们服务端的验证了

最新文章

  1. IPv6测试环境
  2. OpenLDAP与Apache
  3. svg学习(八)polyline
  4. window.event
  5. table表头标题th浮动提示-MyTable.js
  6. CSS 样式显示为小手
  7. hdu 1542 Atlantis
  8. 软件工程随堂小作业——随机四则运算Ⅱ之算法思路(C++)
  9. jenkins中Deploy to container Plugin插件发布配置
  10. FastDFS分布式文件系统
  11. LNMP安装后MYSQL数据库无法远程访问解决
  12. 命令行连WiFi
  13. bzoj1717
  14. linux shell 学习笔记01
  15. Spring整合Disruptor
  16. Java 包的概述和讲解
  17. php 学习笔记 设计和管理
  18. Prufer序列与树的计数(坑)
  19. 剑指Offer——连续子数组的最大和
  20. &&与||的短路运算

热门文章

  1. 转: 环信联合创始人:App主流反垃圾服务难点和技术实现全解析
  2. Solidworks如何制作动画2
  3. react 实现pure render的时候,bind(this)隐患
  4. Servlet的部署开发细节以及注意事项
  5. Effective C++ 条款四 确定对象被使用前已被初始化
  6. fill函数和fill_n函数
  7. android Graphics类:概述及基本几何图形绘制
  8. DCOS之Mesos-DNS介绍
  9. cocos2d-x(vs2012)环境搭建(第一篇)[版本号:cocos2d-x-3.1.1]
  10. MD5加密实现类不是Windows平台下联邦信息处理标准验证过的加密算法的一部分