1
試圖製作一個非常標準的用戶編輯頁面。 '密碼'和'重新密碼'開始隱藏,但可以通過點擊「編輯密碼」按鈕打開。UnlockField在CakePHP中不起作用
但是 - 我一直從安全組件獲取「auth」黑洞錯誤。
每the CakePHP book,我試圖解開這個領域的視圖(領域嘗試過,域之後,就在表內,只是形式之前,並在表格末尾:
$this->Form->unlockField('User.password');
$this->Form->unlockField('User.re-password');
但是 - 並不能幫助我能得到它的工作的唯一辦法是徹底解開整個動作(似乎並不理想)。
$this->Security->unlockedActions = array('admin_edit');
如果我不關閉字段,然後它工作,但我需要禁用它們,因爲如果我不這樣做,內置的「notEmpty」方面會導致javascript查找這些字段時出錯。
查看/ HTML:
<div id="edit-password-area" style="display:none;">
<div class="form-group">
<label>Password</label>
<?php echo $this->Form->input('User.password', array('class'=>'input-xxlarge form-control', 'value'=>'', 'disabled'=>'disabled')); ?>
<p class="note">Must be at least 8 characters in length.</p>
</div>
<div class="form-group">
<label>Verify Password</label>
<?php echo $this->Form->input('User.re_password', array('type'=>'password', 'class'=>'input-xxlarge form-control', 'value'=>'', 'disabled'=>'disabled')); ?>
<p class="note">Must exactly match the "Password".</p>
</div>
</div>
<div id="edit-password-button-area">
<a href="javascript:showPasswordArea();">Edit Password</a>
</div>
<div id="dont-edit-password-button-area" style="display:none;">
<a href="javascript:hidePasswordArea();">Don't Edit Password</a>
</div>
的Javascript:
<script>
function showPasswordArea() {
$('#edit-password-area').show();
$('#edit-password-area input').removeAttr('disabled');
$('#dont-edit-password-button-area').show();
$('#edit-password-button-area').hide();
$('#UserPassword').focus();
}
function hidePasswordArea() {
$('#edit-password-area').hide();
$('#edit-password-area input').prop('disabled', 'disabled');
$('#dont-edit-password-button-area').hide();
$('#edit-password-button-area').show();
}
</script>
我已經試過了,而這是行不通的。 :/ – Dave