我得到了这个表格:
{{ form_start(form) }}
<input type="submit" class="form_submit_button" name="register_interest" value="Add to favourites"/>
{{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)
我想检查用户是否登录,我这样做了:
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
Run Code Online (Sandbox Code Playgroud)
如果用户未登录,它会隐藏按钮。
即使我没有登录,我也希望该按钮显示,并且在提交表单后检查用户是否已登录。
我怎样才能做到这一点?
谢谢!
该检查必须在您的 php 控制器中执行。此外,您还可以执行 javascript 检查,以防止在用户未登录时提交表单。
要检查控制器中的用户登录:
if ($this->isGranted('ROLE_USER') == false) {
// show some error message, throw exception etc...
}
Run Code Online (Sandbox Code Playgroud)
另一种方法来做到这一点:
$this->denyAccessUnlessGranted('ROLE_USER');
Run Code Online (Sandbox Code Playgroud)
要检查客户端(javascript),您可以执行以下操作:
{% if not is_granted('IS_AUTHENTICATED_REMEMBERED') %}
<script>
// wrap into document.ready() if needed
$('#your_submit_button_id').on('click', function(e) {
e.preventDefault();
alert('You must be logged in to use this function');
});
</script>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7379 次 |
| 最近记录: |