Mar*_*ala 4 php validation laravel laravel-5
HTML 表单具有选择下拉列表,其中包含现有类别列表,而没有 id=0 的类别。CategoryStoreRequest 必须检查表单中的 category_id 是否属于现有类别或为 0
类似的东西
public function rules() {
return [
"name" => "required|min:3",
"category_id" => "required|exists:categories,id,except_if_value_is_0"
];
}
Run Code Online (Sandbox Code Playgroud)
实现它的最优雅的方法是什么?
事实证明,这nullable
是一种非常优雅的方法。提交表单时,category_id 数组键仍然存在,但其值为空。nullable 也允许键为空。
public function rules() {
return [
"name" => "required|min:3",
"category_id" => "nullable|exists:categories,id"
];
}
Run Code Online (Sandbox Code Playgroud)
此外选择值必须是“”
<select name="category_id">
<option value="">No category selection</option>
<option value="1">Cat 1</option>
</select>
Run Code Online (Sandbox Code Playgroud)
exists or 0
您可以将自定义零值设置为NULL
或空字符串,而不是检查。
您需要更改一点逻辑,但随后您可以使用“有时”规则来正确验证它:
public function rules() {
return [
"name" => "required|min:3",
"category_id" => "sometimes|exists:categories,id"
];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7137 次 |
最近记录: |