2016-08-22 84 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)來驗證消息的只有一個字段

相關問題