📅  最后修改于: 2023-12-03 15:02:35.482000             🧑  作者: Mango
在Laravel中,required_with
是一个验证规则,它要求在给定字段中至少有一个字段填写。
在表单验证中使用required_with
规则非常简单。假设我们有一个表单如下:
<form method="POST" action="/example">
<input type="text" name="email">
<input type="text" name="phone">
<input type="text" name="name">
<button type="submit">Submit</button>
</form>
现在,我们想要验证提交的表单是否包含email
和phone
字段中至少一个字段填写。我们可以使用以下方式来进行验证:
use Illuminate\Http\Request;
public function example(Request $request)
{
$validatedData = $request->validate([
'email' => 'required_with:phone',
'phone' => 'required_with:email',
'name' => 'required',
]);
}
在这个例子中,我们只需要在email
和phone
字段中至少有一个字段填写,否则验证将失败。
required_with_all
required_with_all
规则要求在给定字段中所有列出的字段都必须存在,否则验证将失败。例如:
$validatedData = $request->validate([
'email' => 'required_with_all:phone,address',
'phone' => 'required_with_all:email,address',
'address' => 'required_with_all:email,phone',
]);
在这个例子中,email
和phone
字段中必须至少填写一个,并且address
字段必须在三个字段中都存在。
required_without
required_without
规则相反,要求给定的字段都不存在或都为空,否则验证将失败。例如:
$validatedData = $request->validate([
'email' => 'required_without:phone',
'phone' => 'required_without:email',
]);
在这个例子中,email
和phone
字段中必须只有一个字段填写,否则验证将失败。
required_without_all
类似于required_with
,required_without_all
要求给定字段中所有列出的字段都不存在或都为空,否则验证将失败。例如:
$validatedData = $request->validate([
'email' => 'required_without_all:phone,address',
'phone' => 'required_without_all:email,address',
'address' => 'required_without_all:email,phone',
]);
在这个例子中,email
和phone
字段中都不填写、或者只填写一个并且address
字段不存在或为空时,验证才会通过。
使用required_with
验证规则可以在需要时确保表单字段中至少有一个字段填写。除了这个基本用法,它也有一些更进阶的用法,可以让你根据特定的条件来验证表单字段。