以下是關於C#.net的mvc架構中使用validate.unobtrusive.js的表單驗證個人實踐,省去了大量的js代碼驗證,
對於簡單的提交表單還是很好的,個人感覺這種驗證的理念還是不錯的。下面就具體介紹一下使用的步驟:
1、在webconfig的<appSettings>節中設置驗證key,開啟驗證:
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
2、在model中設置字段的驗證屬性,例如:
/// <summary>
/// 會員賬號
/// </summary>
[Required(ErrorMessage = "賬號不能為空!")]
[StringLength(50, ErrorMessage = "賬號長度應為1-50個字符!", MinimumLength = 1)]
[RegularExpression(@"[a-zA-Z\d_]*", ErrorMessage = "賬號只能輸入字母、數字和下劃線“_”!")]
[Remote("checkAccount", "signUp", ErrorMessage = "賬號已存在,換個吧!")]
public string UserAccount { get; set; }
/// <summary>
/// 會員真實姓名
/// </summary>
[Required(ErrorMessage = "姓名不能為空!")]
[StringLength(30, ErrorMessage = "姓名長度應為1-30個字符!", MinimumLength = 1)]
public string TrueName { get; set; }
3、在view中引用js:
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
注意我用的這個驗證插件,jquery目前貌似只能引用1.4--1.5.1,高版本的如1.7以上驗證會失效
4、html代碼如下:
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<table>
<tr>
<td class="left"><span class="must">*</span>用戶姓名:</td>
<td>
@Html.TextBoxFor(m => m.TrueName, new { @class = "Box Raster_20"})
</td>
<td>
@Html.ValidationMessageFor(m => m.TrueName)
</td>
</tr>
</table>
<input type="submit" value="保存" class="Btn BtnYe90" >
}
就寫這麼多吧!!!