初学MVC中对输入文本的即时验证方法
首先在model中定义字段规则:
    [MetadataType(typeof(reciveModel))] //reciveModel就是下面定义的字符规则
public class reciveModel
{
[Required(ErrorMessage="必须输入")]
public string name { get;set ;}
[Range(1, 10, ErrorMessage = "输入数字必须是1-10")]
public string remark { get; set; }
}
public class reciveModel
{
[Required(ErrorMessage="必须输入")]
public string name { get;set ;}
[Range(1, 10, ErrorMessage = "输入数字必须是1-10")]
public string remark { get; set; }
}
   
然后视图页面Inherits必须包含model的强类型;
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MVC4_26.Models.reciveModel>" %>
引用两个MVC带的JS,MicrosoftAjax.js、MicrosoftMvcValidation.js(必须引用,否则不显示错误信息)
在视图代码中添加“<% Html.EnableClientValidation();%>”,对应文本框下添加“<%=Html.ValidationMessageFor(x=>x.name) %>”,就OK了。
       
       <% Html.EnableClientValidation();%> //必须添加,否则不能显示错误信息
<% using (Html.BeginForm("Receive","Study")){ %>
<%=Html.TextBoxFor(x =>x.name) %>
<%=Html.ValidationMessageFor(x=>x.name) %>
<br/>
<%=Html.TextBoxFor(x=>x.remark) %>
<%=Html.ValidationMessageFor(x=>x.remark) %>
<br/><br/>
<% using (Html.BeginForm("Receive","Study")){ %>
<%=Html.TextBoxFor(x =>x.name) %>
<%=Html.ValidationMessageFor(x=>x.name) %>
<br/>
<%=Html.TextBoxFor(x=>x.remark) %>
<%=Html.ValidationMessageFor(x=>x.remark) %>
<br/><br/>
结果如下图:

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号