Ajax[转]MVC+JQuery validate实现用户输入验证

正文转自:http://www.cnblogs.com/ahui/archive/2010/10/08/1845677.html

MVC服务器端:

1.在controller中证明用户输入,如果证实失败,执行

ModelState.AddModelError(“LoginName”, Resource.LoginName + Resource.WordSpace + Resource.CanNotBeBlank);

 

 

2.当View视图某一个地方停放

<%=Html.ValidationSummary()%>

 

 

JS客户端:

1.引放相应的JS文件

<script src=”/Js/jquery-1.4.2.js” type=”text/javascript”></script>

<script src=”/Js/jquery.validate.js” type=”text/javascript”></script>

 

 

2.每当View视图某一个地方停

<label id=”messageBox”></label>

 

 

3.盖健康的submit()方式提交,在页面最下面进入以下JS代码

 $(function() {
        $("#form1").validate({
            rules: {
                LoginName: { required: true, regex: "^[0-9]+$" }
            },
            messages: {
                LoginName: "<%=Resource.LoginName + Resource.WordSpace + Resource.CanNotBeBlank%>"
            },
            errorLabelContainer: "#messageBox",
            wrapper: "li"
        });
    });

 

 

 

 4.为Ajax方式交给至服务器的,JS代码要改吗:

var validate = null;
var opts = {
    rules: {
        LoginName: { required: true, regex: "^[a-zA-Z][a-zA-Z0-9._-]{3,20}$" }
    },
    messages: {
        LoginName: "请输入正确的登陆名"
    },
    errorLabelContainer: "#messageBox",
    wrapper: "li"
};

function checkForm() {
    var b = validate.checkForm();
    validate.showErrors();
    return b;
}

$(function () {
    validate = $("#form1").validate(opts);
});

function SaveUser() {
    if (!checkForm()) {
        return;
    }
    //...........
}

 

 

 

若是支持regex方式的证明,请于jquery.validate.js加入:

// 正则表达式
$.validator.addMethod(
    "regex",
    function (value, element, regexp) {
        var check = false;
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    },
    "Please check your input."
);

 

 

 

 

如上代码已经落实双语化提示

其余常用之印证办法来:

required, remote, minlength, maxlength, rangelength, min, max, range,
email, url, date, dateISO, number, digits, creditcard, accept, equalTo等

可参见:

http://docs.jquery.com/Plugins/Validation/validate

 

相关文章