0

我在一個rails應用上進行實驗。我想驗證用戶輸入的英文字母字符只在rails中。假設我們有一個註冊表格供用戶填寫:姓名,地址,電子郵件地址。但我希望他們填寫Address form英文字母只有,因爲他們中的一些可能會意外地填寫中文字母,這不是我們想要的。如何在Rails中驗證用戶對英文字母的輸入?

我們可以用正則表達式來排序嗎?如果是的話,請指導我寫那些三種情況:(任何其他方式都非常歡迎)

1:驗證「英文字母只有」

2:驗證「中國字母表是不允許的」

你幫助將非常感謝!

回答

4

使用validates_format_of

validates_format_of :address, :with => /^[A-Za-z0-9 ]*$/ 
+0

非常感謝,我喜歡這種方法。 – Snailwalker

+0

@Snailwalker由於您正在驗證地址,因此我假設您將處理字母和數字。我建議使用這個正則表達式來驗證字符串:/^[A-Za-z0-9] * $/ –

+0

確切地說,我完全同意你的看法。 :) – Snailwalker

3

您可以使用validatesformat

validates :address, format: { with: /[a-zA-Z0-9]/} 
+0

非常感謝你。它看起來很好,很整潔! – Snailwalker

+0

@Snailwalker:不客氣 – potashin