如何使用jQuery验证预先填充的输入字段?

时间:2015-06-06 19:03:56

标签: javascript jquery validation

我有一个表单,其中的字段预先填充了数据库中的数据,因为我需要根据新的数据格式架构更改电话号码,我还需要立即启动对填充前输入的验证。

我的JS代码如下:

根据新架构验证HR电话号码的方法:

$.validator.addMethod("mobileHR", function(phone_number, element) {
    phone_number = phone_number.replace(/\(|\)|\s+|-/g, "");
    return this.optional(element) || phone_number.length > 9 &&
        phone_number.match(/^\+[0-9]{1,3}\.[0-9]{1,14}$/);
}, "Unesite broj u fromatu: +385.111234567");

和函数调用:

$(document).ready(function () {
    // initialize validation
    $('.form-horizontal').validate({ 
        // set immediate validation, on event code 9
        onkeyup: function (element, event) {
            if (event.which === 9 && this.elementValue(element) === "") {
                return;
            } else {
                this.element(element);
            }
        },
        rules: {
            "contactdetails[Registrant][Phone]": {
                required: true,
                mobileHR: true
            }
        },
        messages: {
            "contactdetails[Registrant][Phone]": {
                required: "Molimo unesite broj telefona"
            }
        }
    });

});

输入字段就像这些,并且已经填充了value参数,因为数据是从数据库中提取的。

<div class="controls">
<input kl_virtual_keyboard_secure_input="on" name="contactdetails[Registrant][Phone]" value="011123456" size="30" class="Registrantcustomwhois" type="text">
</div>
现在我想警告用户编辑数据,即使他没有在所需的输入字段中更改数据,也要更新他的电话号码的格式,所以我基本上想在已经加载的文件中调用validate()函数

小例子是here

1 个答案:

答案 0 :(得分:3)

在放置验证规则后,在jQuery准备就绪后,只需添加$('.form-horizontal').valid();即可验证表单。

请参阅Fiddle,相应更新