我正在開發一個MVC 3應用程序,它需要某些點來自用戶的一些數據。數據然後發送到一個外部DLL(我不允許改變它)。傳遞是通過將一個對象傳遞給一個函數來完成的,這樣對象就可以成爲我的模型。MVC 3自定義驗證
問題是我沒有權限將屬性添加到模型,我也不知道要添加元數據類。
我決定使用JQuery使用自定義的驗證機制,所以我做了輔助功能是這樣的:
@helper TextBox(string name, object value = null)
{
var val = value ?? "";
<tr>
<td class="label">@name :
</td>
<td>
<input type="text" name="@name" id="@name" value="@val" />
</td>
</tr>
}
@helper ValidationMessage(string name)
{<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="@name"></span>}
@helper TextBoxRequired(string text, string fildName, object value = null, string message = "*")
{
var val = value ?? "";
<tr>
<td class="label">@text :</td>
<td>
<input type="text" name="@fildName" id="@fildName" value="@val" data-val="true" data-val-required="@message" />
@ValidationMessage(fildName)</td>
</tr>
}
我已經包括jQuery的1.8.2,jquery.validate和jquery.validate.unobtrusive但它不管用。
任何幫助表示讚賞。
編輯: web配置設置:
<appSettings>
<add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
而且我使用的是Firefox,Chrome和IE測試用JavaScript實現。
你啓用在web.config中進行驗證(在AppSettings下設置「ClientValidationEnabled」和「UnobtrusiveJavaScriptEnabled」爲true),或者通過代碼使用與'HtmlHelper'上的靜態屬性相同的關鍵字? –
是的。對不起,也沒有添加: appSettings> –