向MVC 3表单验证添加自定义JavaScript/jQuery效果

向MVC 3表单验证添加自定义JavaScript/jQuery效果,javascript,jquery,asp.net-mvc-3,validation,jquery-effects,Javascript,Jquery,Asp.net Mvc 3,Validation,Jquery Effects,我正在使用asp.net的MVC3构建一个大型网站。在登录页面上,我使用内置函数进行低调的javascript验证。一切都很好,但我想为验证消息的显示方式添加一些效果。我想要一个红色的盒子滑到错误下面 我该怎么做?我一直在试图弄清楚jquery.validate.unobtrusive.js是如何工作的,但对我来说,这完全是一个黑魔法,我似乎找不到真正将消息添加到屏幕上的代码 我将非常感谢任何帮助!我对这方面很不了解 谢谢 Nieszka验证摘要是在出现服务器端错误后将错误添加到页面以使其可见的

我正在使用asp.net的MVC3构建一个大型网站。在登录页面上,我使用内置函数进行低调的javascript验证。一切都很好,但我想为验证消息的显示方式添加一些效果。我想要一个红色的盒子滑到错误下面

我该怎么做?我一直在试图弄清楚jquery.validate.unobtrusive.js是如何工作的,但对我来说,这完全是一个黑魔法,我似乎找不到真正将消息添加到屏幕上的代码

我将非常感谢任何帮助!我对这方面很不了解

谢谢

Nieszka

验证摘要是在出现服务器端错误后将错误添加到页面以使其可见的内容。ValidationFor元素提供客户端错误

两者都是HTML助手。您将需要实现自己的形式,将错误返回到视图,或覆盖这些错误并显示自定义UI元素

先来看看jQueryUI

事实上,我们每个人都很可能会给你一个完全不同的场景来实现。但其中的关键元素是jQuery/Ajax/JSON

例如,对我来说,我在发布创建或更新的每个视图中都包含一个javascript引用

<script src="@Url.Content("~/Scripts/AjaxFormSubmission.js")" type="text/javascript"></script>
这是显示自定义错误的javascript/jQuery代码

function showSuccessError(result) {
    $('#resultSpan').html('');
    var headerText;
    if (result.Success) {
        headerText = "Action was successful!";
        $('#resultSpan').append($("<ul id='successMsg' style='list-style: none;' />").append(result.ResultMessage));
    }
    else {
        headerText = "Ooops! There is an Error";
        $('#resultSpan').append($("<ul id='errorMsg' style='list-style: none;' />").append(result.ResultMessage)).addClass("AjaxErrorText").removeClass("AjaxSuccessText");
    }
    showProgressComplete(headerText);
}
就像我说的,这只是一个人的例子。这里的每个人都很可能以不同的方式实现这一点。这确实是首选项。

验证摘要是在出现服务器端错误后将错误添加到页面中以使其可见的内容。ValidationFor元素提供客户端错误

两者都是HTML助手。您将需要实现自己的形式,将错误返回到视图,或覆盖这些错误并显示自定义UI元素

先来看看jQueryUI

事实上,我们每个人都很可能会给你一个完全不同的场景来实现。但其中的关键元素是jQuery/Ajax/JSON

例如,对我来说,我在发布创建或更新的每个视图中都包含一个javascript引用

<script src="@Url.Content("~/Scripts/AjaxFormSubmission.js")" type="text/javascript"></script>
这是显示自定义错误的javascript/jQuery代码

function showSuccessError(result) {
    $('#resultSpan').html('');
    var headerText;
    if (result.Success) {
        headerText = "Action was successful!";
        $('#resultSpan').append($("<ul id='successMsg' style='list-style: none;' />").append(result.ResultMessage));
    }
    else {
        headerText = "Ooops! There is an Error";
        $('#resultSpan').append($("<ul id='errorMsg' style='list-style: none;' />").append(result.ResultMessage)).addClass("AjaxErrorText").removeClass("AjaxSuccessText");
    }
    showProgressComplete(headerText);
}

就像我说的,这只是一个人的例子。这里的每个人都很可能以不同的方式实现这一点。这真的是一种偏好。

插件可能??到目前为止,你看了些什么,如果它们不适合,那么可以排除它们?对jquery验证插件的搜索应该会产生令人兴奋的内容您需要学习如何使用Chrome的开发工具。。。您要查找的信息可以在scripts标签中找到,只需拨动一下即可。这是一个很好的介绍教程:。插件可能??到目前为止,你看了些什么,如果它们不适合,那么可以排除它们?对jquery验证插件的搜索应该会产生令人兴奋的内容您需要学习如何使用Chrome的开发工具。。。您要查找的信息可以在scripts标签中找到,只需拨动一下即可。这里有一个很好的介绍教程:。
function showProgressComplete(headerText) {
    $('#ajaxResultPopUpHeaderText').html(headerText);
}