2013-02-14 53 views
0

正如标题所示,我的必填字段未触发。ASP.NET MVC [必需]不会触发

这是我的ViewModel类的名字是SignUpForm.cs

public class SignUpForm 
{ 
    [Required] 
    [StringLength(100,ErrorMessage="You must enter a your firstname!", 
    MinimumLength = 1)] 
    public string FirstName { get; set; } 
    [Required] 
    [StringLength(100, ErrorMessage = "You must enter a your surname!", 
    MinimumLength = 1)] 
    public string SurName { get; set; }  
} 

这是我的Razor视图!看名称是Step2.cshtml

@model MvcApplication2.Models.ViewModel.SignUpForm 
@{ 
ViewBag.Title = "Step2"; 
} 

<div id="content-header"> 
<h1 class="title">Complete your registration</h1> 
</div> 
<div id="content-area"> 
    <h4>Fill in the form below to complete your registration 
    </h4> 
@using(Html.BeginForm("testar","Interested", FormMethod.Post)) 
{ 


<h3>Personal information</h3> 
<p class="app-label">Surname<span class="requiredField">*</span></p> 
<div class="editor-label"> 
    @Html.EditorFor(model => model.FirstName) 
    @Html.ValidationMessageFor(m => m.FirstName) 
</div> 
<p class="app-label">Surname<span class="requiredField">*</span></p> 
<div class="editor-label"> 
    @Html.EditorFor(model => model.SurName) 
    @Html.ValidationMessageFor(m => m.SurName) 
</div> 
} 

来源的要求

<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 
<script src="/Scripts/modernizr-2.5.3.js" type="text/javascript"></script> 
<link href="/Content/remigium.css" rel="stylesheet" /> 


<h3>Personal information</h3> 
First name<span class="requiredField">*</span> 
<div class="editor-label"> 
<input class="text-box single-line" data-val="true" data-val-length="You must enter a your firstname!" data-val-length-max="100" data-val-length-min="1" data-val-required="The FirstName field is required." id="FirstName" name="FirstName" type="text" value="" /> 
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span> 
</div> 
<p class="app-label">Surname<span class="requiredField">*</span></p> 
<div class="editor-label"> 
<input class="text-box single-line" data-val="true" data-val-length="You must enter a your surname!" data-val-length-max="100" data-val-length-min="1" data-val-required="The SurName field is required." id="SurName" name="SurName" type="text" value="" /> 
<span class="field-validation-valid" data-valmsg-for="SurName" data-valmsg-replace="true"></span> 
</div> 
+2

如果您检查源代码,请将所需的属性应用于控件吗?你有没有参考所有的jQuery验证文件? – 2013-02-14 23:02:33

+0

@DaveA添加源码! – 8bitcat 2013-02-14 23:06:07

+0

@DaveA感谢您指点我正确的方向! – 8bitcat 2013-02-14 23:15:41

回答

2

我缺少这些脚本引用,我加入他们,一切都很酷!

<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> 
+1

拍摄工作出色@CarlPalsson – 2013-02-14 23:18:56