Tôi đang sử dụng Bootstrap 3.0RC1
với CakePHP 2.3.6
. Cố gắng tận dụng những lớp học đẹp như has-error
và has-warning
cho validation states, tôi cần phải thay đổi lớp phần tử mặc định FormHelper
thêm vào div gói.Cách sửa đổi lớp lỗi div bao bọc khi sử dụng CakePHP với Bootstrap
Cho đến nay tôi đang sử dụng mã này:
echo $this->Form->create('User', array(
'inputDefaults' => array(
'class' => 'form-control',
'div' => array('class' => 'form-group'),
'label' => array('class' => 'control-label'),
'error' => array('attributes' => array('wrap' => 'span', 'class' => 'help-block'))
)
));
echo $this->Form->input('email'));
nào sẽ ra này về lỗi:
<div class="form-group error">
<label for="UserEmail" class="control-label">Email</label>
<input name="data[User][email]" class="form-control form-error" type="email" value="[email protected]">
<span class="help-block">Email already in use.</span>
</div>
Mọi thứ đều tốt, ngoại trừ việc tôi cần phải thay đổi lớp error
trong div gói thành has-error
, do đó, kiểu mới được áp dụng cho label
, input
và span
. Không thể tìm thấy một giải pháp sạch cho đến nay.
Giải pháp xấu xí mà tôi nghĩ là sao chép has-error
kiểu từ Bootstrap vào lớp error
trong ứng dụng của tôi.
Một chút ít xấu xí giải pháp là thêm chọn của bạn cho loại cụ thể của div lỗi vào tập tin CSS của bootstrap của bạn. Bằng cách đó bạn không sao chép tất cả các giá trị kiểu, bạn chỉ cần thêm div lỗi của bạn vào các định nghĩa kiểu hiện có. – Derek
Một tùy chọn khác sẽ là sử dụng javascript để thay đổi các lớp từ 'lỗi' thành 'có lỗi' khi DOMREADY, mặc dù trang của bạn sẽ trông lạ cho đến thời điểm đó. Không thực sự là một giải pháp sạch. – Derek
Vâng derek, cảm ơn, tôi thực sự không thể nghĩ ra cái tốt nhất để chọn. –