使用Html.ValidationMessage使用jQuery进行ASP.NET MVC客户端验证?

ahe*_*ick 5 validation asp.net-mvc jquery client-side

我试图利用HTML.ValidationMessage()元素来编写如此真正的自定义客户端验证与jQuery.这甚至可能吗?我使用HTML.ValidationMessage()显示我的服务器端验证,我想知道如何在表单提交之前访问该元素以使用jQuery显示自定义消息.

我知道有一些插件可以用来完成这些工作,但我真的希望完全控制我的验证.

这是我目前的一些Javascript代码.基本上,它在提交时将输入元素的验证"类"添加,但不确定如何访问Html.ValidationMessage以输出类似"需要电子邮件"的内容.

    <script type="text/javascript">
    $(document).ready(function() {
        $("input[type=submit]").click(function() {

            var valid = true;

            // email blank
            if ($("input[name='email']").val().length < 1) {
                $("input[name='email']").addClass("input-validation-error");
                valid = false;
            }

            return valid;
        })
    });

</script>
Run Code Online (Sandbox Code Playgroud)

和视图中的代码:

       <p>
            <label for="email">
                Email:</label>
            <%= Html.TextBox("email") %>
            <%= Html.ValidationMessage("email") %>
        </p>
Run Code Online (Sandbox Code Playgroud)

Cra*_*ntz 8

您可以编写大量代码来执行此操作.或者你可以使用xVal,这是免费的,并且确实如此,还有更多.在您的.NET类型上添加值注释,向您的aspx添加几个简单的东西,并且您可以免费获得jQuery验证.此外,它还提供了流行框架的提供程序,并且在您需要更复杂的验证时可以进行定制.

我认为没有必要在这里重新发明轮子.