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();
.
.
因此,目前,我可以通过使用 exists
和 unique
验证规则来使用 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);
这是在数据库中:
。
和 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();
.
.
因此,目前,我可以通过使用 exists
和 unique
验证规则来使用 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);