如何检查特定属性是不是是有效的 ruby​​ on rails

Posted

技术标签:

【中文标题】如何检查特定属性是不是是有效的 ruby​​ on rails【英文标题】:How to check if a specific attribute is valid ruby on rails如何检查特定属性是否是有效的 ruby​​ on rails 【发布时间】:2022-01-20 10:58:06 【问题描述】:

我一直在寻找一种开箱即用的方法来检查特定属性是否对某个模型有效,但我没有找到任何东西,我认为 rails 不提供非常奇怪的检查这个的简单方法。

注意:我不想使用valid?,因为这将运行我模型中的所有验证。如果我遗漏了什么,请告诉我,提前谢谢。

【问题讨论】:

【参考方案1】:

找了几个小时后,我没有找到任何具体的东西,但我确实找到了解决问题的方法。假设您有一个名为 User 的模型(这很常见),并且您想验证 email 是否符合您现有的验证,下面是一种方法仅检查该特定属性。

user = User.new(email: 'foo!!!')
User.validators_on(:email).map |validator| validator.validate(user)  # apply the validator to the attribute
user.errors.full_messages # will return a list of all the errors found with the specified attribute

【讨论】:

以上是关于如何检查特定属性是不是是有效的 ruby​​ on rails的主要内容,如果未能解决你的问题,请参考以下文章

检查 ruby​​ 类是不是在特定模块中

如何计算 ruby​​ on rails 中的特定评分计数哈希?

如何存储和比较:ActiveRecord 中的符号(Ruby on Rails)

在 Ruby on Rails 中检查视图中的 nil

如何检查元素是不是包含特定的类属性

如何检查对象是不是在 JavaScript 中具有特定属性?