小编Ing*_*gvi的帖子

如何使用Parsleyjs防止从DOM中删除表单验证错误

我正在使用parsleyjs验证密码字段.密码有三个要求,因此有三个验证消息:

  • 密码至少需要8个字符
  • 需要一个特殊角色
  • 一个号码是必需的

当验证返回成功时,我希望删除该消息,而是留在原位并以可视方式设置消息样式,在这种情况下带有绿色复选标记(默认情况下消息有一个红色错误图标).所以基本上想要添加一个类或删除并保留DOM中的消息.

作为一个例子,当插入一个整数时,验证可能如下所示:

在此输入图像描述

是否可以使用parsley来防止默认行为(删除消息)并将成功的类添加到相应的错误消息(而不仅仅是错误列表容器)?

这是我到目前为止所做的和一个codepen演示

$(function() {
    $('.form').parsley();
});

window.Parsley.addValidator('number', {
    validateString: (value) => {
        const format = /\d/;
        return format.test(value);
    },
    messages: {
        en: 'One number is required'
    }
});

window.Parsley.addValidator('specialChar', {
    validateString: (value) => {
        const format = /[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/;
        return format.test(value);
    },
    messages: {
        en: 'One special character is required'
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery parsley.js

6
推荐指数
1
解决办法
1061
查看次数

我应该使用 arial-label 还是视觉上隐藏的标签元素

我正在创建一个搜索表单,其中包含两个元素:输入字段和按钮。输入字段没有与之关联的标签。

为了使该字段更易于访问,我可以添加<label for="searchfield">Search</label>并在视觉上隐藏它,以便屏幕阅读器可以访问它。

我还可以添加aria-label="search"到输入字段并保留输入字段不带标签。

我在 Mac 上使用“Voice Over”进行了测试,得到了相同的结果/输出。我的问题是这些方法等效吗?或者一种方法比另一种更好?

这是一支

html accessibility wai-aria

6
推荐指数
1
解决办法
2900
查看次数

是否可以选择一个输入字段并仅使用 Parsleyjs 触发对该字段的验证

使用parsleyjs只想在一个字段上触发验证,所以我希望这会起作用:

$('.form-input-field').parsley().validate();
Run Code Online (Sandbox Code Playgroud)

但它不起作用。在它自己的表单上调用 .parsley().validate() 进行工作思考并验证整个表单:

$('.form').parsley().validate();
Run Code Online (Sandbox Code Playgroud)

有没有办法手动验证单个元素?

为什么我要这样做是因为在初始化欧芹时或在用户实际与元素交互之前尽快显示错误消息(但仅针对表单中的一个字段提到)。

javascript jquery parsley.js

2
推荐指数
1
解决办法
1179
查看次数

如何将javascript日期字符串转换为另一种格式?

我有一个字符串"26-08-2016",我想将其转换为"2016-08-26".我更喜欢在可能的情况下使用日期对象.但我担心一些正则表达式解决方案才可用?

javascript

0
推荐指数
1
解决办法
151
查看次数

如何在语义上标记输入和标签字段的额外信息

我有一个label额外的描述和一个input字段。

带有描述的标签和输入

我有点不确定额外的描述是否属于这样的跨度包裹的标签字段:

<label for="phone">
    Telephone
    <span>For the delivery</span>
</label>
<input type="text" name="phone">
Run Code Online (Sandbox Code Playgroud)

这样描述是可点击的。但我不确定这是否是考虑到 a11y 和语义标记的正确方法。

额外的信息属于标签还是应该分开,应该如何格式化?

html forms accessibility semantic-markup

0
推荐指数
1
解决办法
201
查看次数