色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ASP.NET MVC中對Model進行分步驗證的解決方法

  在我之前的文章:ASP.NET MVC2.0結合WF4.0實現用戶多步注冊流程中將一個用戶的注冊分成了四步,而這四個步驟都是在完善一個Model的信息,但是又分頁面填寫信息的,當時我加上ModelState.IsValid這句驗證代碼的時候,根本沒法通過驗證,因為在注冊的前面三步,注冊用戶的Model信息都沒填寫完整,而ModelState.IsValid是對一個實體的所有屬性進行判斷驗證的。當時很糾結,因為剛接觸ASP.NET MVC,故沒有找到解決方案。這篇文章將給出解決的辦法。看下面需要驗證的Model的代碼如下:

代碼
    public class UserViewModel
{
[DisplayName(
"step")]
[Required(ErrorMessage
= "You must select a step .")]
public int Step { get; set; }
//個人信息
[Required(ErrorMessage = "姓名不能為空")]
[StringLength(
20, ErrorMessage = "姓名長度不能超過20個字符")]
public string Name { get; set; }

[RegularExpression(
@"120|((1[0-1]|/d)?/d)", ErrorMessage = "年齡格式不對")]
public int? Age { get; set; }

//職位信息
[Required(ErrorMessage = "職位不能為空")]
public string Post { get; set; }
public int? Salary { get; set; }

//學歷信息
[Required(ErrorMessage = "畢業院校不能為空")]
public string University { get; set; }
public int? GraduationYear { get; set; }

//聯系信息
[Required(ErrorMessage = "郵件不能為空")]
[RegularExpression(
@"^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|" + @"0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*/.([a-z]" + @"[a-z|0-9]*(/.[a-z][a-z|0-9]*)?)$", ErrorMessage= "郵件格式不正確")]
public string Email { get; set; }
public int? Mobile { get; set; }

public IEnumerable<SelectListItem> StepList { get; set; }

public UserViewModel()
{
var list
= new List<SelectListItem>() {
new SelectListItem { Text = "(Select)" },
new SelectListItem { Value = "1", Text = "Step1" },
new SelectListItem { Value = "2", Text = "Step2" },
new SelectListItem { Value = "3", Text = "Step3" },
new SelectListItem { Value = "4", Text = "Step4" }
};
this.StepList = new SelectList(list, "Value", "Text");
}


}

NET技術ASP.NET MVC中對Model進行分步驗證的解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 苍山县| 巩留县| 平原县| 吉安县| 上饶市| 汉寿县| 永新县| 乃东县| 彩票| 太湖县| 宁阳县| 沽源县| 水富县| 恭城| 噶尔县| 青阳县| 伊通| 保德县| 崇州市| 陇南市| 余姚市| 木里| 秦安县| 米林县| 吴堡县| 本溪市| 多伦县| 呼图壁县| 类乌齐县| 和平县| 扬中市| 葫芦岛市| 若羌县| 清镇市| 南安市| 绿春县| 彭阳县| 盐山县| 青阳县| 丽水市| 盱眙县|