我有一个Laravel 5.8项目,在刀片上我添加了以下内容:
@if(empty($user->usr_name))
<div class="row">
<div class="col-md-12">
<div class="form-group">
<span class='text-danger'>*</span>
<label>Mobile Number</label>
<input type="text" class="form-control" name="mobile" value="{{ !empty($user->member->mbr_mobile) ? $user->member->mbr_mobile : old('mobile') }}" required="required">
</div>
</div>
</div>
@endif
@if(empty($user->usr_email))
<div class="row">
<div class="col-md-12">
<div class="form-group">
<span class='text-danger'>*</span>
<label>Email</label>
<input type="text" class="form-control" name="email" value="{{ !empty($user->usr_email) ? $user->usr_email : old('email') }}" required="required">
</div>
</div>
</div>
@endif
因此,如果用户的usr_name
设置为NULL,则用户可以输入他的用户名。
如果用户的usr_email
为空,则他可以输入他的电子邮件地址。
如果其中一个字段不为空,则该字段不会显示在页面上。
现在,我还需要将这些字段设置为必填字段:
$data = $request->validate([
'email' => 'required|unique:users,usr_email',
'mobile' => 'required|unique:users,usr_name',
]);
但这是错误的,因为如果用户已经有了用户名,那么必须省略所需的规则,这同样适用于用户电子邮件。
所以问题是,如果一个字段出现在表单中,如何使它成为必填字段?否则它应该是nullable
。
1条答案
按热度按时间4xrmg8kj1#
那么
使用8或更高版本不再支持laravel5