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

ASP.NET MVC中對(duì)Model進(jìn)行分步驗(yàn)證的解決方法

  在我之前的文章:ASP.NET MVC2.0結(jié)合WF4.0實(shí)現(xiàn)用戶多步注冊(cè)流程中將一個(gè)用戶的注冊(cè)分成了四步,而這四個(gè)步驟都是在完善一個(gè)Model的信息,但是又分頁(yè)面填寫信息的,當(dāng)時(shí)我加上ModelState.IsValid這句驗(yàn)證代碼的時(shí)候,根本沒(méi)法通過(guò)驗(yàn)證,因?yàn)樵谧?cè)的前面三步,注冊(cè)用戶的Model信息都沒(méi)填寫完整,而ModelState.IsValid是對(duì)一個(gè)實(shí)體的所有屬性進(jìn)行判斷驗(yàn)證的。當(dāng)時(shí)很糾結(jié),因?yàn)閯偨佑|ASP.NET MVC,故沒(méi)有找到解決方案。這篇文章將給出解決的辦法。看下面需要驗(yàn)證的Model的代碼如下:

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

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

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

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

//聯(lián)系信息
[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技術(shù)ASP.NET MVC中對(duì)Model進(jìn)行分步驗(yàn)證的解決方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 湘西| 吴江市| 杭锦后旗| 微博| 工布江达县| 哈巴河县| 莆田市| 涟源市| 高邮市| 永丰县| 临泉县| 延吉市| 汶川县| 宿州市| 屏东市| 铜梁县| 崇阳县| 内江市| 宝应县| 云安县| 北碚区| 财经| 万宁市| 宿松县| 海丰县| 富川| 廊坊市| 井冈山市| 乐山市| 红原县| 遂平县| 石泉县| 拉孜县| 乐至县| 璧山县| 柳林县| 六盘水市| 洮南市| 洛扎县| 辉南县| 资阳市|