Laravel 5.2 - 自定义表单字段名称和验证

时间:2016-05-13 14:22:04

标签: php forms validation laravel laravel-5.2

当有人在我建造的应用程序中创建帐户时,他们必须提供一个国家/地区。

为了向用户提供可供选择的国家/地区列表,有一个countries表格,其中包含两个字段:idcountry_codeusers表格中有country_id字段。

我想使用名为country的选择框而不是country_id,但我无法知道如何实现这一目标。任何的想法?当然,验证和东西仍然需要工作。

此外,是否必须在验证码中指定countries.id的精确字段?现在,我有这个:

$this->validate($request, [
   'name' => 'required',
   'country_id' => 'required|exists:countries,id'
]);

如上所述,属性名称应为country而不是country_id,但由于我已指定用户与国家/地区模型之间的Eloquent关系,因此执行类似'required|exists:countries'的操作诀窍,对吗?

1 个答案:

答案 0 :(得分:2)

$this->validate($request, [
   'country' => 'required|integer|exists:countries,id'
]);

验证

country == name attribute

countries == table name So it will check the value from selected option(id) with existing id in countries table

$user = New User;
$user->country_id = $request->input('country');
$user->save();

如果国家/地区存在于具有所选ID保存用户的表国家/地区

integer

Laravel验证不会将DB中的列与输入名称绑定在一起 我还要在exists

之前添加{{1}}验证