写注册表单遇到的问题:
第一种解决办法:
1.表单上确认密码设置name:confirm
<form id="registers" method="post">
<div>
<input type="text" class="user" name="username" id="name" required placeholder="你的昵称"/>
</div>
<div>
<input type="text" class="user-2" name="mobile" id="mobile" autocapitalize="on" required placeholder="手机号码"/>
</div>
<div>
<input type="password" class="user-1" id="psd" name="password" required placeholder="设置密码"/>
</div>
<div>
<input type="password" class="user-1" name="confirm" id="psd1" required placeholder="确认密码"/>
</div>
<div>
<button type="button" class="button" id="register">注册</button>
</div>
</form>
2.控制器使用方法:
$data=Request::post();
if (!UserValidate::check($data)){
return [
'status'=>0,
'message'=>UserValidate::getError(),
];
}
3.验证器设置为:confirm:表单确认密码的字段
protected $rule=[
'username|用户名'=>[
'require',
'min'=>2,
'max'=>20,
'unique:user',
],
'password|密码'=>[
'require',
'min'=>3,
'max'=>12,
'alphaNum',
'confirm:confirm',
],
'mobile|手机号'=>[
'require',
'mobile',
'unique:user',
],
];
第二种方法:
1.表单确认密码设置为password_confirm字段,以及用JQ过滤一下确认密码是否相同设置为:
<form id="registers" method="post">
<div>
<input type="text" class="user" name="username" id="name" required placeholder="你的昵称"/>
</div>
<div>
<input type="text" class="user-2" name="mobile" id="mobile" autocapitalize="on" required placeholder="手机号码"/>
</div>
<div>
<input type="password" class="user-1" id="psd" name="password" required placeholder="设置密码"/>
</div>
<div>
<input type="password" class="user-1" name="password_confirm" id="psd1" required placeholder="确认密码"/>
</div>
<div>
<button type="button" class="button" id="register">注册</button>
</div>
</form>
<script>
$(document).ready(function(){
if ($("#psd1").val()==""||$("#psd1").val()==null){
alert("确认密码不能为空!");
}
else if ($("#psd").val()!=$("#psd1").val()){
alert("两次密码不相同!");
}
});
</script>
2.控制器过滤字段后可以了
$data=Request::except('password_confirm','post');