我是ASP.NET和MVC3的新手。我有一个项目,其中MVC3验证错误消息需要在工具提示中显示而不更新jquery.validate.unobtrusive.js。 我试过这个
但无法让它发挥作用。这是我应该根据上面的链接使用的功能。它说在这里做点什么......我无法弄清楚我应该写什么代码来显示错误消息,当验证失败时,在必填字段旁边显示错误图标。
$(function() {
var settngs = $.data($('form')[0], 'validator').settings;
var oldErrorFunction = settngs.errorPlacement;
var oldSucessFunction = settngs.success;
settngs.errorPlacement = function (error, inputElement) {
//Do something here
oldErrorFunction(error, inputElement);
}
settngs.success = function (error) {
//Do something here
oldSucessFunction(error);
}
});
有人可以帮忙吗?
答案 0 :(得分:5)
您可以使用以下css,
.myfield-validation-error
{
content: "";
display: inline-block;
height: 16px;
width: 16px;
margin-right: 4px;
background-image:url(../../Images/Close-2-icon.png);
}
.myfield-validation-valid
{
content: "";
display: inline-block;
height: 16px;
width: 16px;
margin-right: 4px;
background-image:url(../../Images/Ok-icon.png);
}
然后,您可以在成功和失败回调中使用这些类,
<script>
$(function () {
var settngs = $.data($('form')[0], 'validator').settings;
var oldErrorFunction = settngs.errorPlacement;
var oldSucessFunction = settngs.success;
settngs.errorPlacement = function (error, inputElement) {
$(inputElement).closest('div').next().removeClass('myfield-validation-valid').addClass('myfield-validation-error')
oldErrorFunction(error, inputElement);
}
settngs.success = function (error) {
$(error).closest('div').addClass('myfield-validation-valid').removeClass('myfield-validation-error')
oldSucessFunction(error);
}
});
</script>
进一步检查this链接。
答案 1 :(得分:1)
如果您使用的是MVC3,则可以利用所提供的验证。查看Account Controller - Register View以获取如何实现它的示例。
研究(在视图中):
@ Html.ValidationSummary(true,“帐户创建失败。 请更正错误,然后重试。“)
和Class for:
System.ComponentModel.DataAnnotations.RequiredAttribute