2012-04-04 34 views
0

我試圖向註冊名稱字段添加驗證規則。我在我的validation.js添加的文件就像一個功能:爲註冊名稱字段添加驗證

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

在registration.xml(分量/ com_users /模型/表格/),我已經加入到名稱字段:

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

但它仍不符合規則。我究竟做錯了什麼?

回答

0

解決方案讓驗證工作是添加aria-required="true"到現場。

1

您的註冊區域的屬性是什麼?
在你的正則表達式的第一眼看,我認爲最小2chars,最大98. 你可以添加任何符號,除了whitespaces?

如果我是你,我會我的註冊場(如果用戶名)設置爲\w\S{4,}
\w是很方便的,因爲它涵蓋了表達[a-zA-Z_0-9] ,如果你添加\ s到它,它涵蓋了白色空間的問題。
此外,爲什麼您在開始時使用「\S」,而您的表情的結尾對我來說有點模糊。

希望這有助於;)

P.S:如果你喜歡一個很好的工具來練習/測試你的正則表達式,我可以推薦Regex Designer。它是免費的,可以使用。此外,它給你很多額外的信息在各種不同的表達式

+0

您好,場的屬性是'<字段名= 「名稱」 TYPE = 「文本」 類= 「驗證-全名」 \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」 \t \t \t需要= 「真」 \t \t \t大小=「30」 驗證=「全名」 \t \t /> '然而問題是不是真的正則表達式,其獲取正則表達式「鉤」到字段。感謝有關正則表達式免費軟件的建議;),我會檢查出來。你知道我在做什麼錯誤的字段不依據正則表達式驗證嗎? – theoth 2012-04-06 22:48:32

+0

你爲什麼要用''? 爲什麼不只是使用'

'? 你應該閱讀[這篇文章] [1]。我知道它看起來很基本 但它仍然有伎倆^^ [1]:http://docs.joomla.org/Client-side_form_validation – finxie 2012-04-07 20:03:38

+0

雖然這不是我自己的形式。這是標準的joomla註冊字段;),我只是試圖向名稱字段添加驗證規則。就像電子郵件,用戶名和密碼字段一樣。 – theoth 2012-04-07 21:57:52