【问题标题】:Laravel 4 field validation issues on editLaravel 4 编辑时的字段验证问题
【发布时间】:2014-03-17 06:34:15
【问题描述】:

我使用的是简单的user auth package。它具有用户创建的默认验证,但是,它没有任何类型的用户编辑功能。没问题,我可以把它写进去。我遇到的问题是更新用户名时我无法通过以下验证:

  • 电子邮件已被占用。
  • 密码必须介于 4 到 11 个字符之间。
  • 密码确认不匹配。

在编辑时,由于是同一封电子邮件,因此会使用该电子邮件。我什至没有编辑密码。

所以我的问题是:如何关闭更新/编辑验证,或者更好的是,如何为这些方法应用不同的验证规则?

【问题讨论】:

  • 在这种情况下,您是否只更新了用户名并保存到当前用户模型(User::find($user_id))?你在表单方法中使用了“放置”吗?
  • @RobertRozas 就是这样。 $Model->updateUniques() 谢谢!
  • 没问题@alairock ;)

标签: php validation laravel laravel-4


【解决方案1】:

您可以通过更改随 package.json 提供的默认值来做到这一点。它们可以在第 50 行找到:

public static $rules = array(
        'username' => 'required|alpha_dash|unique:users',
        'email' => 'required|email|unique:users',
        'password' => 'required|between:4,11|confirmed',
        'password_confirmation' => 'between:4,11',
);

在 ConfideUser 类中。

只需用您自己的规则替换这些规则。如果你没有一些规则,例如password_confirmation,然后将其删除。并且还通过新的验证规则采用您的 HTML 表单和模型/数据库。

希望对你有帮助。

【讨论】:

  • 谢谢你。看起来问题是我需要使用 $User->updateUniques() 而不是 $User->save()。
猜你喜欢
  • 2013-07-27
  • 1970-01-01
  • 2015-06-28
  • 2013-08-05
  • 2020-08-02
  • 2020-01-24
  • 2014-08-08
  • 2022-11-03
  • 2014-07-19
相关资源
最近更新 更多