【问题标题】:Rails 3: Modify error message prefix for form validationRails 3:修改表单验证的错误消息前缀
【发布时间】:2012-07-10 15:08:42
【问题描述】:

嵌套表单很棒,但我注意到它有时会导致格式奇怪的错误消息。

举个具体的例子: 我有一个表单可以让某人创建一个新的帐户。每个帐户都有一个或多个用户 (has_many)。注册表单使用 Account 模型来创建表单,还包括许多用于创建第一个 User 的字段(因为一个帐户必须至少有一个用户)。换句话说,它是一个嵌套形式。

因为一个帐户可以有多个用户,所以错误消息的前缀是“users”而不是“user”。此外,错误消息使用关系名称(用户)和属性名称(例如,“密码”)来构造错误消息。这会导致错误消息,例如 “用户电子邮件不能为空白。” 而不是 “电子邮件不能为空白。”

有没有办法自定义错误消息或从错误消息中省略“用户”?

【问题讨论】:

    标签: ruby-on-rails-3 forms


    【解决方案1】:

    在您的验证的 :message 参数中,您可以添加一个插入符号,它将去除默认消息。

       :message => "^ Email can't be blank"
    

    【讨论】:

    • 感谢您的回答,凯尔。这看起来是一个很好的解决方案,但是有没有办法在不为每个验证提供消息的情况下获得相同的效果,因为我想避免这种情况?
    • 插入符号似乎不再起作用了......它被其他东西取代了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多