Kyl*_*cot 2 ruby validation ruby-on-rails ruby-on-rails-3
我想为我的一个模型创建一些验证,其中包含位置信息(街道,地点,邮政编码等).我希望能够根据选择的国家/地区更改验证规则.
例如,postal_code的验证规则对于美国和加拿大将是不同的.此外,一些国家没有邮政编码,因此不需要验证规则.
我将如何实现这样的事情?
将其放入模型中以运行任何自定义逻辑进行验证.
validate :location_should_be_valid
def location_should_be_valid
# run all your custom logic here
# if it isn't valid, add an error indicating why
if country == "Canada"
errors.add(:postal_code, "Invalid postal code for Canada") if postal_code.length != 7
end
end
Run Code Online (Sandbox Code Playgroud)
在Rails指南中了解更多相关信息:http:
//guides.rubyonrails.org/active_record_validations_callbacks.html#creating-custom-validation-methods
| 归档时间: |
|
| 查看次数: |
1875 次 |
| 最近记录: |