表单验证(第五章)<原创内容>


一、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

*@

运行...

 

“今日感悟:

坚持,再坚持!

                       ----作者:黎哈哈”

原创内容,创作不易;

若能助你,请多支持!