表单使用avalon2 ms-validate 进行验证后无法跳转?

表单使用avalon2 ms-validate 进行验证后,所有字段验证通过,但点击按钮页面不会跳转。

如果我直接删除form标签的ms-validate属性,则可以正常跳转。

代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <script src="http://cdn.bootcss.com/avalon.js/2.1.5/avalon.js"></script>
    <script>
        var vm = avalon.define({
            $id: 'register',
            username: '',
            password: '',
            repeat: '',
            validate: {
                onError: function (reasons) {
                    reasons.forEach(function (reason) {
                        console.log(reason.getMessage());
                    })
                },
                onValidateAll: function (reasons) {
                    if (reasons.length) {
                        console.log('有表单没有通过')
                    } else {
                        console.log('全部通过')
                    }
                }
            }
        })
    </script>
</head>
<body ms-controller="register">
    <div ms-validate="@validate">
        <form action="/register" method="post" ms-validate="@validate">

            <label>Username</label>
            <input  type="text" 
                    name="username" 
                    ms-duplex='@username' 
                    ms-rules="{required:true}" 
                    data-required-message="请输入您的名字">
            <br>

            <label>Password</label>
            <input  type="password" 
                    id="password" 
                    name="password" 
                    ms-duplex='@password' 
                    data-required-message="请输入您的密码">
            <br>

            <label>Repeat password</label>
            <input  type="password" 
                    id="repeat" 
                    name="repeat" 
                    ms-duplex='@repeat | change' 
                    ms-rules="{required:true,equalto:'password'}" 
                    data-equalto-message="两次密码输入不一致">
            <br>

            <input class="btn btn-danger" type="submit" value="Register">
        </form>
    </div>
</body>
</html>

图片描述

所有字段验证通过,但点击按钮页面不会跳转。

阅读 2.8k
1 个回答
新手上路,请多包涵

avalon2.2.10
ms-validate 仅仅需要加到 form 标签上即可, 删掉 <div ms-validate="@validate"> 里面的 ms-validate="@validate"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题