2012-04-04 20 views
0

登録名フィールドに検証ルールを追加しようとしています。私のような機能をファイルに私validation.jsに追加しました:registration.xmlで登録名フィールドの検証を追加

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

(コンポーネント/ com_users /モデル/フォーム/)、私は名前欄に追加しました:

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

しかし、まだルールに対して妥当性は検証されていません。私は間違って何をしていますか?

答えて

0

検証が機能するようにするには、aria-required="true"をフィールドに追加します。

1

登録欄のプロパティは何ですか?
正規表現の最初の見た目では、最小2ch、最大98と思っています。 そして、空白以外の記号を追加できますか?それは表現[a-zA-Z_0-9] をカバーし、あなたがそれに\ Sを追加する場合、それはホワイトスペースの問題をカバーしているので

私があなただったら(ユーザー名の場合)、私は\w\S{4,}
\wに私の登録フィールドを設定しますが便利です。
また、最初に "\S"を使用すると、式の最後が少しぼやけてしまいます。これが助けた

希望;)

P.S:あなたは正規表現をテスト/練習する便利なツールを好きなら、私はRegex Designerをrecommandすることができます。使用するにはフリーウェアとezです。また、それはあなたにあらゆる種類の異なる表現に関する多くの追加情報を提供します

+0

こんにちは、フィールドのプロパティは '<フィールド名= "名前" タイプです= "テキスト" クラス= "検証-フルネームを" \t \t \t説明= "COM_USERS_REGISTER_NAME_DESC" \t \t \tフィルタ= "文字列" \t \t \tラベル= "COM_USERS_REGISTER_NAME_LABEL" \t \t \tメッセージ= "COM_USERS_REGISTER_NAME_MESSAGE" = "true" を必要と \t \t \t =「30」 検証=「フルネーム」 \t \t /> '\t \tサイズは、しかし、問題は、そのフィールドに正規表現の「フック」を取得し、本当に正規表現ではありません。正規表現のフリーウェアに関するアドバイスをありがとう;)、私はそれをチェックアウトします。私はフィールドが正規表現に従って検証しないために間違っていることを知っていますか? – theoth

+0

なぜ「」を使用しますか? '

'を使うのはなぜですか? [この記事] [1]を読むべきです。私はそれが非常に基本的に見えることを知っている しかし、それでもトリックを行う^^ [1]:http://docs.joomla.org/Client-side_form_validation – finxie

+0

これは私自身のフォームではありません。これは標準的なjoomlaの登録フィールドです;)、私は単に名前フィールドにバリデーションルールを追加しようとしています。メール、ユーザー名、パスワードのフィールドと同じです。 – theoth

関連する問題