0

我正在尝试向注册名称字段添加验证规则。我在我的 validation.js 文件中添加了一个函数,例如:

this.setHandler('name',
function (value) {
regex=/^\S[\S ]{2,98}\S$/;
return regex.test(value);
}
);

在registration.xml(components/com_users/models/forms/)中,我添加了name字段:

class="validate-name"
validate="name"

但它仍然没有验证规则。我究竟做错了什么?

4

2 回答 2

1

您的注册字段的属性是什么?
乍一看您的正则表达式,我认为最少 2 个字符,最多 98 个字符。您可以添加除空格以外的任何符号吗?

如果我是你,我会将我的注册字段(如果在用户名上)设置\w\S{4,}
\w为很方便,因为它涵盖了表达式[a-zA-Z_0-9] ,如果你添加 \S 到它,它会涵盖空白问题。
另外,为什么你\S在表达的开头和结尾使用“”对我来说有点模糊。

希望这有帮助;)

PS:如果你喜欢一个很好的工具来练习/测试你的正则表达式,我可以推荐Regex Designer。它是免费软件和 ez 使用。此外,它还为您提供有关各种不同表达方式的大量额外信息

于 2012-04-06T14:57:57.583 回答
0

使验证生效的解决方案是添加aria-required="true"到该字段。

于 2012-04-13T12:42:36.910 回答