鍍金池/ 教程/ C#/ ASP.Net MVC驗證
ASP.Net MVC簡介
ASP.Net MVC過濾器
ASP.Net MVC視圖
ASP.Net MVC安全
ASP.Net MVC手腳架
ASP.Net MVC控制器
ASP.Net MVC與SQL Server數據庫操作
ASP.Net MVC NuGet包管理
ASP.Net MVC入門程序
ASP.Net MVC Razor
ASP.Net MVC Bootstrap
ASP.Net MVC單元測試
ASP.Net MVC動作
ASP.Net MVC模式
ASP.Net MVC選擇器
ASP.Net MVC開發(fā)環(huán)境配置
ASP.Net MVC生命周期
ASP.Net MVC模型綁定
ASP.Net MVC自托管(本地主機部署)
ASP.Net MVC驗證
ASP.Net MVC緩存
ASP.Net MVC數據模型
ASP.Net MVC路由
ASP.Net MVC教程
ASP.Net MVC助手
ASP.Net MVC數據注解
ASP.Net MVC Web API

ASP.Net MVC驗證

驗證是ASP.NET MVC應用程序中的一個重要方面。 它用于檢查用戶輸入是否有效。 ASP.NET MVC提供了一組易于使用的驗證,同時也是檢查錯誤并在必要時向用戶顯示消息的強大方法。

DRY

DRY代表(Don’t Repeat Yourself )不要重復自己,是ASP.NET MVC的核心設計原則之一。從開發(fā)的角度來看,鼓勵只在一個地方指定功能或行為,然后在整個應用程序中使用它。
這樣可以減少編寫的代碼量,使代碼編寫起來更容易,更容易維護。

為模型添加驗證

下面來看看,如何為上一章項目添加員工時驗證的一個簡單例子。 在這個例子中,我們將數據注釋添加到模型類,它提供了一些內置的驗證屬性集,可以直接在應用程序中應用到任何模型類或屬性,例如:RequiredStringLength,RegularExpressionRange驗證屬性。

它還包含格式化屬性,如DataType幫助格式化,不提供任何驗證。 驗證屬性指定要對其應用的模型屬性強制執(zhí)行的行為。

RequiredMinimumLength屬性指示屬性必須具有值; 但是沒有任何東西阻止用戶輸入空白格來滿足這個驗證。RegularExpression屬性用于限制可輸入的字符。

可以通過添加不同的注釋屬性來更新 Employee 類,如以下代碼所示 -



還需要對數據庫設置限制。 但是,SQL Server對象資源管理器中的數據庫顯示name屬性被設置為NVARCHAR(MAX),如以下截圖所示 -

現(xiàn)在我們還需要對數據庫設置限制。 但是,SQL Server對象資源管理器中的數據庫顯示name屬性被設置為NVARCHAR(MAX),如以下屏幕截圖所示 -

為了在數據庫上設置這個限制,我們將使用遷移來更新模式。

工具 -> NuGet程序包管理器 -> 程序包管理器控制臺 打開程序包管理器控制臺窗口。

在軟件包管理器控制臺窗口中逐個輸入以下命令。

Enable-Migrations
add-migration DataAnnotations
update-database

以下是在 程序包管理器控制臺 窗口中執(zhí)行這些命令后的日志。

Visual Studio也將打開從DbMIgration類派生的類,可以在其中看到更新Up方法中的模式約束的代碼 -

namespace MVCSimpleApp.Migrations {
   using System;
   using System.Data.Entity.Migrations;

   public partial class DataAnnotations : DbMigration{
      public override void Up(){
         AlterColumn("dbo.Employees", "Name", c => c.String(maxLength: 60));
      }

      public override void Down(){
         AlterColumn("dbo.Employees", "Name", c => c.String());
      }
   }
}

name字段的最大長度為60,這是數據庫中新的長度限制,如以下快照中所示 -

運行此應用程序并通過指定以下URL轉到創(chuàng)建視圖:http://localhost:63004/Employee/Create -

在這些字段中輸入一些無效的數據,然后點擊 創(chuàng)建 按鈕,如下圖所示 -

看到jQuery客戶端驗證檢測到錯誤,并且還顯示錯誤消息。


上一篇:ASP.Net MVC Razor下一篇:ASP.Net MVC簡介