当前位置: 首页 > 知识库问答 >
问题:

Ruby on Rails-自定义验证允许不起作用

何乐
2023-03-14

我正在尝试学习自定义验证。下面是简单的代码:

class User < ActiveRecord::Base
  validates :username, presence: true,length: { in: 6..20 }
  validate :name_cannot_be_tushar

  def name_cannot_be_tushar
    if username == "Tushar"
        errors.add(:username, "can't be Tushar")
    end
  end
end

当我试图通过rails控制台插入数据时,

2.3.0 :014

它让我插入数据。我应该做些什么来使我的自定义验证方法起作用?

共有1个答案

李安歌
2023-03-14

你的代码绝对没问题。您可能需要重新启动< code>rails控制台,它将正常工作。Rails控制台会话不会自动加载模型中最近的更改。

 类似资料:
  • 我在Angular中有一个自定义验证的表单构建器,但我在自定义验证中读取文件后无法获取文件的类型。 下面是StackBlitz: https://stackblitz.com/edit/Angular-ivy-atwqqc?file=src%2fapp%2fapp.component.ts TS文件

  • 我创建了一个新的注释来验证控制器上的参数: 这是我的验证器: 这是我的控制器: 我的控制器注释为: 我还有一个建议控制器,我打算用它来捕捉抛出的异常: 我在控制台上得到的是: pom.xml中的依赖关系: 谁能告诉我我错过了什么?

  • 表单验证发生在数据验证之后。如果你需要定制化这个过程,有几个不同的地方可以修改,每个地方的目的不一样。表单处理过程中要运行三种类别的验证方法。它们通常在你调用表单的is_valid() 方法时执行。还有其它方法可以触发验证过程(访问errors 属性或直接调用full_clean() ),但是通用情况下不需要。 一般情况下,如果处理的数据有问题,每个类别的验证方法都会引发ValidationErr

  • 我对自定义约束验证器中的bean自动连接有一个问题。约束验证器实例不是使用Spring的LocalValidatorFactoryBean提供的。JSR-303提供程序是hibernate validator 4.2.0。最终的 Spring配置摘录: 自定义约束验证器: 注释: 一些服务: SomeServiceImpl: SomeTypeService是另一个不依赖于SomeService的@

  • 我需要使用 restlet 客户端放置以下 rest 请求: 我可以在一个单独的调用中获取XToken,但是在当前的调用中,我无法在我的ClientResource对象中设置“Authorization”头。 有人可以建议我需要为我拥有的以下代码行添加哪些代码: 在restlet中创建和添加“Authorization”标头会导致restlet客户端库中出现错误。 提前谢谢 阿希什·夏尔马

  • 我在验证Angular 7中模糊的确认传递字段时遇到问题。在我的例子中,我构建了多个自定义验证器,这些验证器在控件变为“脏”后工作,还有一个遵循Pascal Prechts教程的指令,它在只触及字段时对模糊有效,但我想要一个纯反应式解决方案,Pascal需要添加到HTML中。 问题示例:单击进入firstName字段,立即单击tab或单击out-内置必需的验证器激发。单击进入confirmPass