我有一个Message.uuid场,我要添加验证的,其中包括:Rails验证使用正则表达式验证字符串?
支持:
- 包括AZ,az,中间0-9
- 破折号,但从来没有开始或结束在一个短跑。
- 至少5%,不超过500个字符
什么是轨道写这些规则模型验证的最好方法?
感谢
UPDATE:
validates :uuid,
:length => { :within => 5..500 },
:format => { :with => /[A-Za-z\d][-A-Za-z\d]{3,498}[A-Za-z\d]/ }
有了这个失败
您需要在'^'和'$'之间固定正则表达式,或者像'“@%#@#$ AAAAA @#%@#$”'这样的东西才会通过。 – meagar
你也应该限制'format'验证器的范围;您目前试图验证长度两次,而像AAA这样的UUID会导致两个错误:一个是关于长度,另一个是关于格式。您可能只希望它导致“长度”错误。 – meagar