Asp.net只验证了一个有两个fom的beginform

时间:2017-09-17 05:05:21

标签: asp.net validation asp.net-mvc-4

我正在使用asp.net mvc 4 razor,我还是新手,我有一个问题。我已经搜索了这个问题,我找不到任何我能理解的东西。

当我点击登录输入类型提交时,为什么我的两个表单都会生效?

如何在不影响其他表单的情况下进行登录验证,以及使用寄存器?

以下是我的观点:

  @using (Html.BeginForm("Login","Home",FormMethod.Post))
{ 

   <p >
        ID number:
       @Html.TextBoxFor(e=>e.cID)
       @Html.ValidationMessageFor(e => e.cID)</p>
    <p >
        Password:
       @Html.TextBoxFor(e => e.cpassword)
       @Html.ValidationMessageFor(e => e.cpassword)</p>
    <p><input type="submit" value="Login"/></p>

}

@using (Html.BeginForm("Register","Home",FormMethod.Post))
{ 

   <p>
        ID number:
      @Html.TextBoxFor(m=>m.cID)
      @Html.ValidationMessageFor(e => e.cID)
   </p>
    <p>
        Firstname:
      @Html.TextBoxFor(e => e.cfname)
      @Html.ValidationMessageFor(e => e.cfname)
    </p>
    <p>
        Lastname:
       @Html.TextBoxFor(e => e.clname)
       @Html.ValidationMessageFor(e => e.clname)
    </p>
    <p>
        Course:
       @Html.DropDownListFor(e => e.ccourse,help.GetCourse(), "--Select Course--")
       @Html.ValidationMessageFor(e => e.ccourse)
    </p>
    <p>
        Password:
       @Html.TextBoxFor(e => e.cpassword)
       @Html.ValidationMessageFor(e => e.cpassword)
    </p>
    <p>
        Confirm Password:
       @Html.TextBoxFor(e => e.cconfirmpas)
       @Html.ValidationMessageFor(e => e.cconfirmpas)
    </p>
    <p ><input type="submit" value="Register"/></p>
}

和我的模特课:

public class Class1
{
    [Required(AllowEmptyStrings = false, ErrorMessage = "Id number is mandatory")]
    [RegularExpression("([1-9][0-9]*)", ErrorMessage = "Number Only Please")]
    public int cID { get; set; }

    [Required(AllowEmptyStrings = false, ErrorMessage = "Firstname is required")]
    [RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Use letters only please")]
    public string cfname { get; set; }

    [Required(AllowEmptyStrings = false, ErrorMessage = "Lastname is required")]
    [RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Use letters only please")]
    public string clname { get; set; }

    [Required(AllowEmptyStrings = false, ErrorMessage = "password is required")]
    [RegularExpression(@"^[a-zA-Z][a-zA-Z0-9]*$", ErrorMessage = "Use only Alphanumeric")]
    public string cpassword { get; set; }

    public string ccourse { get; set; }

    [Required(AllowEmptyStrings = false, ErrorMessage = "confirming a password is required")]
    [RegularExpression(@"^[a-zA-Z][a-zA-Z0-9]*$", ErrorMessage = "Use only Alphanumeric")]
    [Compare("cpassword", ErrorMessage = "Confirm password doesn't match, Type again !")]
    public string cconfirmpas { get; set; }
}

我做错了吗?。

0 个答案:

没有答案