添加规则在动态表单(Add Rules On Dynamic Form)

2019-09-02 14:46发布

我想这是动态填充,根据从后端的JSON响应窗体上添加验证规则。 我使用jQuery 1.9.1和jQuery验证插件。

function getItems(Id) {
    $.ajax({
            url: ...
            success: function (items) {
                buildForm(items);
            }
            error: ...
}

function buildForm(items) {
    $form = $('#testForm');
    $form.empty();
    $.each(items, function(i, item) {

        $form.append('<input type="text"' +
        'id="' + item.Id + '"' +
        'name="' + item.Name + '"' +
        'value="' + item.Default + '"' +
        ' />');
        $form.append('<br />');

        $('#' + item.Id).rules("add", { required:true,email:true }) // error!
    });
}

jQuery(function ( $ ) {
    getItems(1 //just an Id);
});

错误:遗漏的类型错误:无法未定义读取属性“设置”

我是新来的JavaScript肯定这是不是要走最明智的。 HTML没有报道,它只是一个空的形式。 我认为DOM是没有准备好规则的选择,但我真的不知道该怎么处理这个问题,因为我必须用成功回调,我不准备DOM函数内部。 任何建议,欢迎!

Answer 1:

哪里是.validate()

你不能调用插件的方法rules("add")的插件已经初始化之后,直到某个.validate()



Answer 2:

我认为错误是从验证插件抛出,

var settings = $.data(element.form, "validator").settings;

可能是“ID”不正确简称。



文章来源: Add Rules On Dynamic Form