表单验证(第五章)<原创内容>
一、Jquery验证(简单代码的验证)
@{ Layout = null; ViewBag.Title = "JQueryText"; } @using (Html.BeginForm("JQueryText", "Demo", FormMethod.Post)) { 用户账号:@Html.TextBox("userName", "", new { onblur = "CheckedUserName()" }) "userNameMessage" style="color:red;">
用户密码:@Html.TextBox("userPassword01", "", new { onblur = "CheckUserPassword01IsNull()" }) "userPassword01Message" style="color:red;">
确认密码:@Html.TextBox("userPassword02", "", new { onblur = "CheckUserPassword02IsRight()" }) "userPassword02Message" style="color:red;">
"submit" value="提交" /> }
二、Jquery验证(验证插件的使用)
@{ Layout = null; ViewBag.Title = "JQuery的验证插件使用"; } @using (Html.BeginForm("JQueryText", "Demo", FormMethod.Post,new { id="regForm",name= "regForm"})) { 用户账号:@Html.TextBox("userName")
用户密码:@Html.TextBox("userPassword01")
确认密码:@Html.TextBox("userPassword02")
"submit" value="提交" /> }
三、模型注解验证
1.Model处
using System; using System.Collections.Generic; using System.Linq; using System.Web; //引入验证空间 using System.ComponentModel.DataAnnotations; namespace Demo03.Models { ////// 个人信息页 /// public class UserInfo { public UserInfo() { } public UserInfo(int userID, string userEmail, string userNikeName) { UserID = userID; UserEmail = userEmail; UserNikeName = userNikeName; } [Required(ErrorMessage = "用户编号不能为空!")] [Range(0, 8, ErrorMessage = "编号长度不合法!")] public int UserID { get; set; } [Required(ErrorMessage = "用户邮箱不能为空!")] [StringLength(10, ErrorMessage = "邮箱长度不合法!")] public string UserEmail { get; set; } [Required(ErrorMessage = "用户昵称不能为空!")] public string UserNikeName { get; set; } } }
2.控制器内
[HttpPost] public ActionResult ModelByValidate(UserInfo user) { ViewBag.userInfo = "用户编号:" + user.UserID + ",用户邮箱:" + user.UserEmail + ",用户昵称:" + user.UserNikeName; return View(); }
3.视图内
@{ Layout = null; ViewBag.Title = "ModelByValidate"; }模型注解验证
@Html.BeginForm("ModelByValidate", "Demo", FormMethod.Post){ 用户编号:@Html.TextBox("userID") 用户邮箱:@Html.TextBox("UserEmail") 用户昵称:@Html.TextBox("UserNikeName") "submit" value="提交" />@Html.ValidationSummary()
@ViewBag.userInfo;
}
4.运行结果
四、JQuery验证结合模型注解验证相辅相成
在开发中,为了避免被禁用JS或网络攻击,所以使用JQuery验证,并结合模型注解验证是必须的(双层保障);
1.Model处
using System; using System.Collections.Generic; using System.Linq; using System.Web; //引入验证空间 using System.ComponentModel.DataAnnotations; namespace Demo03.Models { ////// 个人信息页 /// public class UserInfo { public UserInfo() { } public UserInfo(int userID, string userEmail, string userNikeName) { UserID = userID; UserEmail = userEmail; UserNikeName = userNikeName; } [Required(ErrorMessage = "用户编号不能为空!")] [Range(0, 8, ErrorMessage = "编号长度不合法!")] public int UserID { get; set; } [Required(ErrorMessage = "用户邮箱不能为空!")] public string UserEmail { get; set; } [Required(ErrorMessage = "用户昵称不能为空!")] [StringLength(5, ErrorMessage = "昵称长度不合法!")] public string UserNikeName { get; set; } } }
2.在视图中
@{ Layout = null; ViewBag.Title = "ModelByValidate"; }JQuery验证和模型注解相辅相成验证
@using (Html.BeginForm("ModelByValidate", "Demo", FormMethod.Post, new { id = "TextByForm", name = "TextByForm" })) {用户编号:@Html.TextBox("userID")@Html.ValidationMessage("userID")
用户邮箱:@Html.TextBox("UserEmail")@Html.ValidationMessage("UserEmail")
用户昵称:@Html.TextBox("UserNikeName")@Html.ValidationMessage("UserNikeName")
"submit" value="提交" /> } @*@Html.ValidationSummary()
@ViewBag.userInfo
*@
运行...
“今日感悟:
坚持,再坚持!
----作者:黎哈哈”
原创内容,创作不易;
若能助你,请多支持!