0

我正在为我自己的自定义登录页面使用 Mesosphere 表单包。下面是登录表单:

Mesosphere({
    name: "loginForm",
    method: "login",
    fields: {

        usernameEmail: {
            required: true,
            format: /^[a-zA-Z0-9_]{2,25}$/i,
            message: "only alphanumeric usernames",
            transform:["trim"]
        },

        password: {
            required: true,
            message: "6-25 characters please",
            rules:{
               maxLength:25,
               minLength:6
            }
        }

    }
});

一旦我验证了对象,我想确保这个用户登录信息是有效的,如果没有将信息传回以呈现为错误。

Meteor.methods({
login: function (rawFormData) {
    var validationObject = Mesosphere.loginForm.validate(rawFormData);
    console.log("logging in...");
    if (!validationObject.errors) {
        Meteor.loginWithPassword(validationObject.formData.usernameOrEmail, 
                                    validationObject.formData.password,
                                    function (err) {
                                        if (err) {
                                            //user doesnt exit
                                            console.log("user doesnt exist");
                                        }
                                        else {
                                            //user logged in...
                                            console.log("logged in");
                                        }
                                    }
                                 );

    }
    else {
        console.log("errors:" + JSON.stringify(validationObject.errors));
    }
},

我想指定要显示的用户名错误或密码错误。

<template name="login">
log in please
<form name="loginForm">

    <p><input type="text" name="usernameOrEmail" placeholder="username or email"/></p>
    <span id="usernameOrEmail-error"></span>

    <p><input type="password" name="password" placeholder="password"/></p>
    <span id="password-error"></span>

    <input type="submit" value="Login"> or <a href="{{pathFor 'signup'}}">Sign Up</a>
</form>

澄清:

我希望能够在客户端或服务器上实现额外的验证步骤。在客户端上,我希望能够检查给定的登录凭据是否有效(在客户端上)。如果我正在创建一个新用户,我希望能够检查具有该用户名的用户是否不存在(在服务器上)。

说明 2:

我了解您可以使用“方法”元素( https://github.com/copleykj/Mesosphere#basics-elements )调用函数或方法,但是如何返回成功或错误以及如何处理消息?

4

1 回答 1

0

您可以使用 onFailure 回调覆盖默认错误功能。它在对象内部的同一级别的字段上进行。https://github.com/copleykj/Mesosphere/blob/master/README.md#error-management

于 2013-08-24T10:46:59.423 回答