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/) で、名前フィールドに追加しました:

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 に答える