任務48:Identity MVC:Model後端驗證

任務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

LoginViewModelhtml

這裏只須要Email和Password這兩個字段後端

 

 

修改後:ui

 

 

修改Login.cshtml

把登錄的時候的錯誤信息加上。spa

 

在AccountController裏面Login的時候進行判斷

 

ModelState.IsValid去驗證傳過來的model類。這樣model的錯誤直接會在頁面上顯示3d

 

運行效果

打開登錄頁面,直接點擊登錄,就會提示錯誤信息了code

Register也增長model的驗證

 

 

 

註冊頁面的效果

註冊的時候,這裏能夠把這幾個都開啓,這樣密碼的規則就要求比較嚴格了htm

 

把這些選項都開啓。而後設置密碼至少是12位的blog

 

再設置:asp-validation-summary="All"ip

運行get

 

 

 

 

而後就啥也沒有,也沒有提示信息

 

在上面封裝一個私有的方法

    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的字母

 

以上就是咱們服務端的驗證了

相關文章
相關標籤/搜索