javascript - 我定制的欧芹新违规不起作用

标签 javascript jquery twig parsley.js

我正在使用 parsley.js 来验证我的表单。 我想用ajax检查我的数据库中是否存在某个元素。 所以我这样做了:

   {{ form_widget(form.companyname, {'attr': {'class': 'md-input', 'required':'', 'data-parsley-company':'3'}}) }}

    <script>
        $('#sbcplatformbundle_fournisseur_companyname').on('change', function () {
            $comanyname = $('#sbcplatformbundle_fournisseur_companyname').val();
            var url = '{{ path('fournisseur_bycompanyname', {'companyname': 'companyName'}) }}';
            url = url.replace('companyName', $comanyname);
            $.ajax({
                async: true,
                type: "GET",
                url: url,
                success: function (json) {
                    console.log(JSON.stringify(json));
                    if (json.success == true) {
                        // declancher une exeption
                        window.Parsley.addValidator('company', {
                            validate: function (value) {
                                return value;
                            }
                        }).addMessage('en', 'This company name already exists');
                    }
                }
            });
        });
    </script>

这对于第一次更改不起作用。在第二个更改中,我在 consile 发现了此警告消息:

main_Mask_parsley.min_1.js:16 Validator "company" is already defined.

我必须怎么做?

最佳答案

您的代码显示出一些困惑:

  • 您不应该自己触发验证,而应该告诉 Parsley 如何执行。
  • 在初始化时注册一次自定义验证器。
  • 无需自己进行 ajax 调用,使用远程验证器。

祝你好运

关于javascript - 我定制的欧芹新违规不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41613917/

相关文章:

JavaScript clearInterval() 不会清除计时器

JavaScript、JQuery。需要帮助从我的 JSON 中获取 'name'

php - 如何从 Stacey App 中的逗号分隔列表值创建链接标签?

php - "replace"过滤器需要一个数组或 "Traversable"作为替换值,得到 "string"

javascript - 验证两个属性是否相等

javascript - 使用 AJAX 查询填充表单字段

Javascript 匹配字符串内的括号

javascript - 将 magnificPopup 添加到动态创建的元素

html - 如何在同一行上制作这些 div block ?

javascript - 如何动态添加元素属性