2012-12-07 45 views
0

我工作的1个项目,并有1个表格在里面,我需要用适当的消息验证,如果验证失败验证超过1个空格字符

验证的格式检查。我需要检查用户是否输入了超过1个空格字符的单词。我的意思是

如果用户输入

"hello world" 

那么它应该显示 “无效的格式”。正确的格式应该是

"hello world" 

我的意思是只允许1个空格字符。

我已经试过这

validates_format_of :name, :with => /\s/ 

,但它显示的错误时,有没有空格字符....

+0

我会为您在使用JavaScript的形式输入,并剥离多个空格出现,提交之前。另一种方法是“挤压('')”或“挤压”字符串,而不是在用户提交后将其扔回给用户。 –

回答

3

试试这个:

validates_format_of :name, :without => /\s{2,}/, :message => "invalid format" 

注意\s匹配任何空白字符,其中包括换行符,选项卡等以及空格。如果你只是想匹配两个或多个空格(而不是两个或更多的空格字符),那么这将是更好的:

validates_format_of :name, :without => /\ {2,}/, :message => "invalid format" 
+0

谢谢shioyama为你的努力,但它的工作方式,我的意思是我显示“无效格式”时,有0或1空间,而在多于1空间字符的情况下它的完美。 – Jeet

+0

你确定你有'没有'而不是'带'吗?我已经测试过这个,它工作。请检查你是否有':without =>/\ s {2,} /'而不是':with =>/\ s {2,} /'。 –

+0

哦......你是对的shioyama,这是我的错误,这是“与”代替没有.....非常感谢,它完成了 – Jeet

相关问题