在我正在构建学习RoR的应用程序中,我想开始学习更多有关验证的知识。除了构建自定义验证(例如使用正则表达式)之外,我想知道对于地址,货币,日期/时间格式,语言等数据的常见验证,最好的宝石是什么?这是为了构建一个用于新应用程序的基本集。
我在下面看到这些使用:
国际贸易术语,计量单位(来自UNECE或ISO20022)或VAT ID如何?还有其他我应该看看的吗?
答案 0 :(得分:1)
当您深入研究验证时,您会发现需要构建来处理某些主题(电子邮件/货币等)的宝石并不像为您的特定用例开发自定义验证那样整洁。例如,我不会使用除电子邮件上的正则表达式之外的任何内容来验证是否有@符号和后面的一些字符,因为现在有很多后缀(.co / .uk / .me / .us等)依次很难保证预制的宝石。货币验证通常也很简单,因为你期望一种特定的格式说#。##但是如果你偏离它,那么你做另外一个自定义验证器并且不会回到外部库会好得多。国家/地区通常不会进行国家/地区特定的验证,因为您可能会让他们从您创建的预设列表中选择一个国家/地区,因此presence
等标准的铁路验证就足够了。话虽如此,我喜欢使用的验证gem处理不是特定于任何主题的客户端验证是“clientSideValidations”gem,但它仅适用于rails 4.2。