Welcome to Galaxy Software Services Corporation !
徵才專區
CSR專區
Vital CRM 國際認證
GSS部落格
叡揚資訊
關於叡揚
新聞與活動
產品與服務
叡揚e論壇
投資人關係
EN
中
簡
日
搜尋
關於叡揚
叡揚簡介
創辦人的話
叡揚大事紀
得獎肯定
合作夥伴
營業據點
聯絡我們
新聞與活動
新聞中心
資安電子報
影音專區
成功案例
行銷活動
產品與服務
企業e化應用軟體
S.P.E.E.D. 公文線上簽核管理系統
Radar 睿達人力資源管理系統
iota C.ai 對話服務平台
Tracko 多源智慧追蹤平台
B.E.S.T. 銀行信用風險資訊解決方案
BoDms 董事會提案暨會務管理系統
Vitals ESP 企業知識協作平台
Vitals HCA 評鑑協同管理系統
Vitals HAS 醫療數據分析系統
Vitals KPIM 指標管理系統
Openfind 網擎訊息安全解決方案
資訊安全
資訊安全系列產品
Checkmarx 源碼安全檢測
Digital.ai APP & Web 防護
Digital.ai APP & Web 相容性功能驗測
illumio 零信任微切分
Orca Security 雲端原生應用程式防護平台
Azul 安全高效 Java JDK
Mend.io Open Source 檢測
HCL 網頁應用程式弱點掃描軟體
Quokka APP 黑箱檢測
Secure Code Warrior 安全開發培訓平台
資安檢測服務
資安學程
資安白皮書
資安電子報
企業數位化智慧維運
企業數位化智慧維運
Axway API 管理平台
Axway ST 集中檔案傳輸管理
AVC 應用程式弱點整合平台
BMC Control-M 批次管理解決方案
BMC Helix Discovery & AISM 探索打造企業IT智慧管理平台
Dynatrace AI智慧維運與效能管理
DMP 數據治理平台
Noname Security 完整主動式API安全平台
Servicenow ITSM一站式IT服務管理平台
TIBCO 智能化資料平台
RPA 機器人流程自動化
Automation Anywhere 業務流程自動化RPA平台
UiPath 機器人流程自動化平台
Woodpecker XVR 次世代資安可視性解決方案
資源中心
雲端與大數據服務
Vital NetZero 零碳雲
Vital CRM 客戶關係管理
Vital BizForm 雲端智慧表單
Vital Knowledge 協同知識管理
Vital Finance 財務會計管理
Vital OD 雲端公文管理
Vital HCM 雲端人力資源管理
大數據分析解決方案
運帷服務
資訊系統維運與開發服務
QuEye CIA 軟體變更衝擊分析器
AI 解決方案
AI 解決方案介紹
AI 智慧公文解決方案
AI 財務報表辨識系統
政府共同供應契約
ESG解決方案
叡揚e論壇
叡揚e論壇
產品使用真心話
投資人關係
股東專區
重大訊息
主要股東
股東會
歷年股利
股利政策
法人說明會
聯繫窗口
公開資訊觀測站
公司治理
營運團隊
公司治理
董事會
功能性委員會
誠信經營
風險管理
智慧財產管理計畫
利害關係人與溝通
公司重要內規
CSR專區
財務資訊
每月營收資訊
財務報告
EN
中
簡
日
搜尋
徵才專區
CSR專區
Vital CRM 國際認證
GSS部落格
選單
首頁
分類
標籤
選擇分類
園丁來閒聊
工具平台
專案管理
資料庫
經驗分享
測試
設計
效能調校
程式語言
|_
.NET MVC
|_
.NET
|_
Java
|_
C#
|_
Python
|_
TypeScript
|_
VB.NET
園丁
資訊安全
開發工法
作業系統
前端
搜尋
訂閱文章
取消訂閱文章
設置
登入
帳號
密碼
記住我
登入
忘記帳號
重置密碼
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
3 分鐘閱讀時間
(549 個字)
字體大小:
+
–
訂閱
取消訂閱
Model Validation:進階應用的遠端 API 驗證(Remote validation)
程式語言
.NET MVC
2016/12/31, 週六
1204 點擊
0 評論
簡單來說,
Model Validation 就是開發者在 Model 中的 Metadata 中加上驗證指令,
搭配用戶端的 Client-side library 進行驗證的協同處理.
(
驗證規則被包含在 System.ComponentModel.DataAnnotations 命名空間
)
從 .Net MVC 3.0 版本開始,
前端驗證就開始採用 jQuery Validation 與 Unobtrusive JavaAcript 模式,
到了 4.0 版本,
.Net MVC 就已經將採用的相關熱門工具預設綁定在 Bundle 中,
開發時僅需載入 Bundle(
@Script.Render("~/bundles/jqueryval")
)即可開始實作.
以下將介紹兩種驗證模式的實作方式:Client-side validation & Remote validation
常用的驗證模式 - 用戶端靜態驗證:Client-side validation
首先, 建立一個具有驗證行為的 ViewModel
在指定驗證的 Metadata 上加上驗證指令(以常用的必填驗證、長度防呆為例)
在 UI 綁定具有驗證行為的 ViewModel(Model Binding)
在 UI 上載入協助 .Net MVC Validation 運作的 Bundle:jqueryval
使用 RazorFor 語法產生控制項元件, 即自動綁定驗證行為
錯誤提示訊息有分兩種:彙總錯誤訊息
彙總錯誤訊息(@Html.ValidationSummary):顯示所有控制項驗證的訊息
單一錯誤訊息(@Html.ValidationMessageFor):顯示指定控制項驗證的訊息
無論是何種錯誤訊息, 皆可客製顯示位置及樣式
進階應用的驗證模式 - 遠端 API 驗證:Remote validation
相信上述的
用戶端靜態驗證
對各位來說已經使用的非常熟練,
接下來要介紹的是,
當驗證邏輯無法在用戶端完成,
而是必須將資料送回遠端伺服器(進資料庫)進行驗證的時候,
我們該如何實作?
以往我們要實作一個帳戶註冊的功能時,
帳號的重複申請驗證是需要進資料庫判斷的,
實作過程往往需要自訂一個 Ajax Request 來傳送並回傳驗證結果.
其實在 Model Validation 的驗證規則中,
當驗證邏輯無法在用戶端完成,
必須將資料送回遠端伺服器以進行驗證,
此時就可以
使用一個稱為 Remote 類別的驗證規則,
只要設定好遠端 API 的位址及驗證的欄位(AdditionalFields, 可指定多個欄位),
它就會將指定的欄位資料, 自動透過 Ajax 方式, 叫用遠端的 API 以進行驗證.
透過以上的介紹,
往後就可以輕鬆的透過一個 Model 實作出各種行為的驗證機制,
希望這樣的說明對大家之後在開發上有些微的幫助.
你覺得這篇文章怎麽樣?
開心
(
0
)
喜愛
(
0
)
驚奇
(
0
)
悲傷
(
0
)
生氣
(
0
)
標籤:
Asp.Net MVC
從【一例一休】牽拖Specification By Example
從【一例一休】牽拖以0.5小時為最小請假單位的作法
相關文章
ASP.NET Session
經驗分享
初探 ASP.NET MVC 多國語系(i18n)|#1: 觀念與基本做法
.NET MVC
[Asp .Net MVC] ViewMode vs DTO(Data Transfer Object)
設計
Asp.Net MVC Model Validation:Custom Validation - 以 Required If 為例
.NET MVC
【Asp.Net MVC】使用 ContextBoundObject 搭配 Attribute 實現 BLL 層及 DAL 層的 AOP Logging 機制
.NET
透過 Asp.Net MVC Filter 實作 Controller 層級的 Action Logging 機制
.NET
評論
尚無評論
已經注冊了?
這裡登入
Guest
2024/05/03, 週五
Captcha 圖像
提交您的評論