Laravel - 使用自定义列名称进行验证

Laravel - Validation with custom column name

这是在数据库中:

和 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 规则。我只想指定自定义列名称。

是否有任何其他规则或技巧来指定数据库中的列名table?

是的 你可以试试这个。

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

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