2016-08-22 76 views
0

我是asp.net mvc的初学者,我想在HTML文本框中定义验证规则。为了这个目的我写的模型和模型的TextBox绑定这个剃刀代码:
为什么我的正则表达式在视图页中不起作用?

@Html.TextBoxFor(x=>x.PhoneNumbe ,new { @class="form-control", placeholder = "Phone",id="PhonNo" }) 

和模型中,我写这个正则表达式:

[RegularExpression("^[0-9]*$", ErrorMessage = "UPRN must be numeric")] 
public string PhoneNumbe { get; set; } 

但是当我运行应用程序,输入字符,我看不到任何提醒消息!发生什么事?我该如何解决这个问题?

+0

另见:http://www.codeproject.com/Articles/718004/ASP-NET-MVC-Client-Side - 验证 – Marusyk

+0

和https://docs.asp.net/en/latest/mvc/models/validation.html – Marusyk

回答

0

如果您想要在输入字符时看到验证消息,则必须使用客户端验证。

首先检查web.config中:

<configuration> 
    <appSettings> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 
</configuration> 

有关客户端验证也是必要的HTML代码,将发送到浏览器,有三个JavaScript库的引用:

  • /Scripts/jQuery-1.XXmin.js
  • /Scripts/jQuery.validate.min.js
  • /Scripts/jQuery.validate.unobtrusive.min.js

然后放入您的视图@Html.ValidationSummary(true)@Html.ValidationMessageFor(model => model.PhoneNumbe)来验证消息的只有一个字段

相关问题