requirejs+jquery表单验证

  • requirejs的使用
  • jquery.validate.js的使用

    1. userAdd.html页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
    <script src="../requirejs/require.js" data-main="main" type="text/javascript"></script>
    <style type="text/css">
        .error {
            font-size: 13px;
            color: red;
        }
    </style>
</head>
<body>
<div class="container" style="padding-top: 15px">
    <div class="panel panel-primary" style="width: 400px">
        <div class="panel-heading">
            <div class="panel-title"><h2>Add User</h2></div>
        </div>
        <div class="panel-body">
            <form role="form" class="form" id="userAddForm" onsubmit="return false">
                <div class="form-group">
                    <label class="">Name</label>
                    <input class="form-control" type="text" id="userName" name="userName" />
                </div>
                <div class="form-group">
                    <label class="">Email</label>
                    <input class="form-control" type="email" id="email" name="email" />
                </div>
                <div class="form-group">
                    <label>Address</label>
                    <!--在这里, 我们可以直接把验证写在html中,就像下面这一行; 也可以在validate脚本中编写-->
                    <input class="form-control" type="text" id="address" name="address" required minlength="5" maxlength="50" />
                </div>
            </form>
        </div>
        <div class="panel-footer">
            <button type="button" id="btnSubmit">Submit</button>
        </div>
    </div>
</div>
</body>
</html>

2. main.js

require.config({
    //baseUrl:'.',
    paths: {
        'myjquery': 'jquery-1.9.1.min',
        'myvalidate': 'jquery.validate',
        'mymessagescn': 'messages_cn',
        'mybootstrap':'../js/bootstrap.min'
    },
    //不是标准的AMD文件, 用shim
    shim: {
        //这个key要跟上面paths中定义的key一直
        'myvalidate': {
            //依赖项
            deps: ['myjquery'],
            exports: 'a'
        },
        'mymessagescn': {
            //注意这个位置,messages_cn这个插件是依赖两个的, 我之前只写了jquery, 页面报错;
            //所以依赖关系一样要搞清楚
            deps: ['myjquery','myvalidate'],
            exports: 'b'
        }
    }
});

require(['user'], function (user) {
    $('#btnSubmit').click(user.formSubmit);
});

2. user.js

define(['myjquery', 'myvalidate','mymessagescn'],function () {

    $("#userAddForm").validate({
        rules: {
            userName: {
                required: true,
                minlength: 3,
                maxlength: 20
            },

            email: {
                required: true,
                maxlength: 20
            }
        },

        submitHandler: function () {
            $.ajax({
                url: "",
                dataType: "json",
                async: true,
                type: "post",
                beforeSend: function () {
                    alert("beforeSend");
                    return false;
                },
                success: function (data, status) {
                    alert("success")
                },
                error: function () {
                    alert("error")
                }
            });

        }
    });

    var getForm = function () {
        return $("#userAddForm");
    }

    var submit = function () {
        getForm().submit();
    }

    return {
        formSubmit: submit
    };
});

3. 目录结构

jquery
jquery-1.9.1.min.js
jquery.validate.js
messages_cn.js
main.js
user.js
userAdd.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值