表单数组自定义验证
数据如图,input[name]名称分别是mobile[]、password[]、nickname[]提交验证规则为,如下图:
<div class="form-group row">
<label for="" class="col-sm-2 control-label">会员账号</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="mobile[]" value="" autocomplete="off" placeholder="请输入会员手机号">
</div>
<div class="col-sm-2">
<input type="text" class="form-control" name="password[]" value="" autocomplete="off" placeholder="请输入密码">
</div>
<div class="col-sm-2">
<input type="text" class="form-control" name="nickname[]" value="" autocomplete="off" placeholder="请输入会员昵称">
</div>
<div class="col-sm-1 remove">
<button type="button" class="btn btn-danger remove-btn">移除</button>
</div>
</div>
这样验证一直提示不能为空。
请各位大神指教。
正常的如何书写。
#定义报错信息
$message = [
'mobile.*.required' => '账号不能为空',
'mobile.*.distinct' => '账号有重复',
'mobile.*.isMobile' => '账号为手机号',
'password.*.required' => '密码不能为空',
'password.*.min' => '密码最小6为啥',
'password.*.max' => '密码最大20为啥',
'nickname.*.required' => '昵称不能为空',
'nickname.*.max' => '昵称最长12个字符',
];
$x_validate = [
'mobile.*' => 'required|distinct|is_mobile',
'password.*' => 'required|min:6|max:20',
'nickname.*' => 'required|max:12',
];
#参数验证
$v = Validator::make($request->all(), $x_validate, $message);
if ($v->fails()) {
return redirect()->back()->withErrors($v)->withInput();
}
推荐文章: