簡體   English   中英

jQuery驗證引擎自定義javascript驗證

[英]jQuery validation engine custom javascript validation

我試圖通過自定義函數驗證jQuery驗證引擎的子域的可用性。 驗證似乎正確發生,但如果.ajax請求返回200,則不會顯示alertText。我添加了Access-Control-Allow-Origin標頭,可以在我的日志中看到請求成功完成。

我究竟做錯了什么?

Javascript功能:

function validateDomain(field, rules, i, options) {
    var url = "https://" + field.val() + ".example.com/";
    $.ajax(url,
        {
            statusCode: {
                200: function() {
                    //alert('name exists already');
                    return options.allrules.validate2fields.alertText;
                }
            }
        });
}

表格字段:

    <label class="required" for="signup[subdomain]">Subdomain<span>*</span></label>
    <span>https://</span>
    <input id="signup[subdomain]" name="signup[subdomain]" class="field field validate[required,funcCall[validateDomain]]" type="text">
   <span>.example.com</span>

問題是$.ajax是一個異步函數,不能以這種方式工作。

function validateDomain(field, rules, i, options) {
    var url = "https://" + field.val() + ".example.com/";
    $.ajax(url,
        {
            statusCode: {
                200: function() { // [ second function ]
                    return options.allrules.validate2fields.alertText;
                }
            }
        });
}

問題是:您的返回僅適用於[second function]而不適用於validateDomain

看看jquery-validation-engine的文檔,我看不到做你想做的事情的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM