0

我想要的是当用户在输入字段中输入电话号码时,我的云代码将对其进行验证。以下是我到目前为止所拥有的。

Parse.Cloud.beforeSave("Contact", function (request, response) {
var Contact = Parse.Object.extend("Contact");
var query = new Parse.Query(Contact);
query.equalTo("PhoneNo", request.object.get("PhoneNo"));
query.first({
    success: function (object) {
        var filterPhone = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
        if (!filterPhone.test(object.value)) {
            response.error("Enter a valid phone number.");
            return false;
        } else {
            response.success();
        }
    },
    error: function (error) {
        response.error("Could not validate phone number.");
    }
});
});

我在客户端使用了下面的 filterPhone 并验证了电话号码,但我似乎无法让它在云上工作。

var phone = document.getElementById('Pno');
            var filterPhone = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;

            if (!filterPhone.test(phone.value)) {
                alert('Please provide a valid phone number');
                return false;
            }

提前致谢。

托马斯。

4

1 回答 1

2

我不明白查询的必要性。我相信你想要这样的东西:

Parse.Cloud.beforeSave("Contact", function (request, response) {
    var filterPhone = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
    if (!filterPhone.test(request.object.get("PhoneNo"))) {
        response.error("Enter a valid phone number.");
    } else {
        response.success();
    }
});

我错过了什么吗?

-鲍勃

于 2013-05-24T16:41:27.997 回答