我试图弄清楚如何正确设置URL参数以自动填写laravel中的表单字段
该表单可以正常工作并正确提交数据,但是我有一个类似testsite.com/register?email=email@test.com&password=dK94*DFj
的URL
,我想用URL中的电子邮件和密码自动填写表单
表格:
<form method="POST" action="{{ route('auth.register') }}">
<div class="reg-card reg-margin-bottom">
<div class="reg-card-content">
<div class="form-group">
<label for="email">Email Address</label>
<input type="email" class="form-control" id="email" name="email" required value="{{ $invitation->email }}" />
</div>
<div class="form-group">
<label for="password">New Password</label>
<input type="password" id="password" class="form-control" required name="password" />
</div>
</div>
</div>
<div class="reg-card">
<div class="reg-card-content">
<button type="submit" class="btn btn-primary btn-block">Create account</button>
</div>
</div>
</form>
我可以设置此项,以便只要URL中存在参数,它们就可以自动填充并禁用这些字段?
答案 0 :(得分:1)
您可以使用
来获得它 {{ request()->email }}
和{{ request()->password }}
但是,在URL中传递密码并不是一个好主意!
答案 1 :(得分:0)
如果您想要更简洁的URL,uou可以为URl注册创建路由。
Route::get('/register/{email?}/{hash?}',function($email,$hash){
return view("viewFile",['email'=>$email,'password'=>$hash]);
});
您认为
<form method="POST" action="{{ route('auth.register') }}">
<div class="reg-card reg-margin-bottom">
<div class="reg-card-content">
<div class="form-group">
<label for="email">Email Address</label>
<input type="email" class="form-control" id="email" name="email" required value="{{ $email }}" />
</div>
<div class="form-group">
<label for="password">New Password</label>
<input type="password" id="password" class="form-control" required name="password" value="{{$password}}" />
</div>
</div>
</div>
<div class="reg-card">
<div class="reg-card-content">
<button type="submit" class="btn btn-primary btn-block">Create account</button>
</div>
</div>
</form>
我不建议您在URL中传递密码,但是如果它是用于验证电子邮件正确的哈希值,那么当我想验证信息是否正确时,最好这样做由用户更改。另外,这还需要对电子邮件进行哈希处理并将哈希与网址中的哈希进行比较。