在基础6中自定义来自Abide的错误消息

时间:2016-02-19 16:10:37

标签: forms validation zurb-foundation-6 abide

我有一个简单的注册表单,其中包含一个为电子邮件设置的输入标记。我正在使用它来验证电子邮件。这是有效的,但我想创建自己的错误消息,并在我选择的页面上设置元素样式。这可能吗?

我发现这个我知道没有验证电子邮件输入(我似乎无法找到用于验证电子邮件的代码)

    abide: {
    validators: {
        myCustomValidator: function (el, required, parent) {
            if (el.value.length <= 3) {
                document.getElementById('nameError').innerText = "Name must have more than 3 characters";
                return false;
            } //other rules can go here
            return true;
        }
    }

如果我能够设置一个模仿abidie已经做过的自定义验证器(电子邮件验证),我会假设我可以在验证返回时更改我想要的页面上的所有元素。

1 个答案:

答案 0 :(得分:0)

我不确定您要求的是什么,但请查看文档http://foundation.zurb.com/sites/docs/abide.html

所以现在在Foundation 6中有一点不同。一旦你启动Foundation,你将不得不覆盖Foundation.Abide对象中的某些属性。像这样:

Foundation.Abide.defaults.patterns['dashes_only'] = /^[0-9-]*$/;
Foundation.Abide.defaults.validators['myCustomValidator'] = function($el,required,parent) {
     if ($el.value.length <= 3) {
            document.getElementById('nameError').innerText = "Name must have more than 3 characters";
            return false;
        } //other rules can go here
        return true;
  };

然后在你的表单中你的标记会是这样的:

<input id="phone" type="text" pattern="dashes_only" required ><span class="form-error">Yo, you had better fill this out.</span>
<input id="max" type="number" data-validator="myCustomValidator" required><span class="form-error">Yo, you had better fill this out.</span>

您可以自定义span标记中的错误消息。