【问题标题】:Laravel - Validation with custom column nameLaravel - 使用自定义列名进行验证
【发布时间】:2019-01-29 09:25:47
【问题描述】:

这是在数据库中:

和html表单:

<form>
    <input type="text" name="fc_fullname" placeholder="Full Name" />
    <input type="email" name="fc_email_addr" placeholder="Email Address" />
    <input type="password" name="fc_pwd" placeholder="Password" />
    <input type="password" name="fc_pwd_confirmation" placeholder="Repeat Password" />
</form>

.

验证码是:

Validator::make($request->all(), [
        'fc_fullname' => 'required|string|max:255|exists:admins,name',
        'fc_email_addr' => 'required|string|email|max:255|unique:admins,email',
        'fc_pwd' => 'required|string|min:6|confirmed|exists:admins,password',
])->validate();

.

.

因此,目前,我可以通过使用 existsunique 验证规则来使用 custom column name

但我不想使用exists 规则。我只想指定自定义列名。

在数据库表中指定列名还有其他规则或技巧吗?

【问题讨论】:

  • 你好,你想在这里实现什么?如果使用exists,它将检查插入的值是否已存在于列中。例如,如果您检查它的密码,则插入的密码将检查它是否已经在 admins 表的密码列中可用。但是密码应该是加密的。那么你到底在寻找什么?
  • 是的,我知道...exists 将检查表中是否存在该值。如果 value 已经存在,则 value 为 VALID。对于unique,它还会检查表中是否存在该值。但是对于这个规则,如果 value 已经存在,则 value 为 INVALID。我已经在问题中说明了“我想尝试实现的目标”。 Stackoverflow 适用于世界各地的所有人,因此您应该准备好用不同的俚语或不同的口音理解英语。顺便说一句,我正在寻找来自@GAURAV VAGHELA 的答案。我已经将他的答案标记为正确答案。谢谢

标签: laravel validation rules


【解决方案1】:

是的,你可以试试这个。

$attribute = array(
   'fc_fullname' => 'name',
   'fc_email_addr' => 'email',  
   'fc_pwd' => 'password',
);

$validator = Validator::make ( Input::all (), $rules );
$validator->setAttributeNames($attribute);

【讨论】:

  • 这就是我想要的。谢谢你。我刚试了一下,效果很好。
猜你喜欢
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-15
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
相关资源
最近更新 更多