使用asp.net mvc3和jquery.validate.unobtrusive.js来验证表单和更改按钮

时间:2013-04-17 10:11:57

标签: c# asp.net-mvc-3 jquery-validate

我正在使用mvc3并使用这样的模型验证:

    public class ColumnVM {
    [Required(ErrorMessage = "Required")]
    public string Name { get; set; }}

我想通过模型验证进行客户端验证。 我的HTML是:

@using(Html.BeginForm("AddColumn","Column",FormMethod.Post))
@html.TextBoxFor(model=>model.Name)
@Html.ValidationMessageFor(model=>model.Name)
<input type="submit" value="submit" style="background-color:blue">

我想在提交之前进行客户端验证。如果提交有效,则提交按钮会更改其颜色并自行调用:function changeBtnColor(obj) { obj.css("background-color", "#A9A9A9"); obj.attr("disabled", "disabled"); } 如果没有,请不要更改其颜色,也不要禁用,并显示验证错误消息。 当jquery.validate.unobtrusive.js进入时,我不能再使用$(“form”)。validate()了。我该怎么做这个任务?

1 个答案:

答案 0 :(得分:0)

在jquery之后包含此脚本,jquery validate和jquery验证不显眼的脚本

<script>
    $(function () {
        $("form").validate().settings.submitHandler = function (form) {
            alert('valid form');
            // do your stuff here
            form.submit();
        }
    });
</script>