ruby-on-rails – 在Active Record回调中验证日语字符
发布时间:2020-12-16 21:25:36 所属栏目:百科 来源:网络整理
导读:我有一个需要验证半宽和全宽日文字符的日文项目,半宽度允许14个字符,全宽度允许7个字符. 有没有人知道如何实现它? 现在我的模特 class Customer validates_length_of :name,:maximum = 14end 不是一个好选择 我目前正在使用ror 2.3.5 可以使用全宽和半宽 解
我有一个需要验证半宽和全宽日文字符的日文项目,半宽度允许14个字符,全宽度允许7个字符.
有没有人知道如何实现它? 现在我的模特 class Customer validates_length_of :name,:maximum => 14 end 不是一个好选择 我目前正在使用ror 2.3.5 解决方法
以下代码可能会让您超越线路,以满足您在最短时间内指定的确切要求.它使用
Moji gem(
Japanese documentation),它在确定日语字符串的内容时提供了许多便利方法.
它在一个名称中最多只能识别14个字符,只包含半角字符,最多只能识别7个字符(包括包含半角和全角字符组合的名称,即存在一个完整字符)字符串中的-width字符将使整个字符串被视为“全宽”. class Customer validates_length_of :name,:maximum => 14,:if => Proc.new { |customer| half_width?(customer.name) } validates_length_of :name,:maximum => 7 :unless => Proc.new { |customer| half_width?(customer.name) } def half_width?(string) Moji.type?(string,Moji::HAN_KATA) end end 做出的假设: >系统内的数据编码为UTF-8,并在数据库中存储;任何进一步必要的重新编码(例如将数据传递到遗留系统等)在另一个模块中完成. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 如何在ActiveSupport :: TestCase中存根方
- 有一种优雅的方法可以从哈希中删除特定的键,它是Ruby中的子
- c – 如何对没有复制构造函数的对象使用std :: sort?
- 编程创建树型结构(dojo040)
- ruby-on-rails – Bundler找不到gem“activemodel”的兼容版
- 快速访问控制4
- c# – 将变量传递给SSIS中的项目参数
- c – 为什么`std:variant`的`operator =(T \u0026\
- Andengine中如何使用xml文件来布局
- Activity中找不到或者不识别相对应的xml布局文件里面的控件