ASP.NET MVC – MaxLength & MinLength Client 驗證

在 Mvc 的 Model 屬性中有 MaxLength 跟 MinLength 的限制屬性,一般情況像是 [Required] 必填還有 Regex 的限制都可以搭配 jquery.validate 做到 Client 的 javascript 驗證效果。我本來以為 MaxLength 跟 MinLength 應該也可以達到同樣的效果在 Javascript 先行驗證。

image

▲在 Model 加上長度限制

image

▲可是在 View 使用 TextboxFor 產出的 Html 並沒有加入 jquery.validate 的屬性

原本想說會不會是內建的方法沒有支援,但是怎麼想都覺得不太可能,這麼常用的方法,不支援也太不合常理了吧。爬了網路上的文章才發現如果要限制字串的長度的話,需要用 [StringLength] Attribute,才會在 TextboxFor 的時候自動加入 jquery.validate 的屬性。

image

▲需要用 [StringLength] Attribute

image

▲加入了 jquery.validate 需要的屬性

image

▲[StringLength] Attribute 也提供了最小長度的具名參數

image

▲Html Helper 產出的 Html

Reference

MaxLength Attribute not generating client-side validation attributes

http://stackoverflow.com/questions/6801656/maxlength-attribute-not-generating-client-side-validation-attributes

SQL Schema 文件產生器 – Script_to_generate_DB_Document

在專案的時候,常常會需要交付一些 schema 的文件,包括備註還有資料型態之類的,之前都是有手動去整理文件,很浪費時間又沒有意義,而且如果欄位長度或是名稱有修改也沒有辦法整合,手動去整理文件一直是我覺得很麻煩的一塊。如果說有辦法在DB建立好的時候,文件就一併產生了,這不是很令人開心的一件事嗎。

Script_to_generate_DB_Document

在 CodeProject 找到 Script_to_generate_DB_Document 這個工具,他可以查詢資料庫直接輸出 Html 頁面。

image

SQL 裡面似乎沒有預設對 Table 註解的欄位,他是抓取 Table 擴充屬性裡面的 MS_Description 這個自訂欄位

image

雖然說這個工具只有產生 Html 的格式,不過可以參考一些抓取屬性的語法,改寫成輸出 Word 文件或是其他必須交付的格式。

Reference

Document SQL Server 2000/2005 Database

http://www.codeproject.com/KB/database/SQL_DB_DOCUMENTATION.aspx?msg=2424192