Tôi đang phát triển ứng dụng bằng Zend Framework 2 và tôi sử dụng trình trợ giúp FormRow để hiển thị nhãn, dữ liệu nhập và lỗi (nếu có) trong Biểu mẫu.Thêm thuộc tính lớp vào Lỗi mẫu
//within the view
echo $this->formRow($form->get('Name'));
Khi một người dùng gửi các hình thức nếu không điền đầu vào FormRow trường văn bản yêu cầu render's nó với các thông báo lỗi sau:
<label>
<span>Name: </span>
<input class="input-error" type="text" value="" placeholder="Insert Name Here" name="Name">
</label>
<ul>
<li>Value is required and can't be empty</li>
</ul>
Làm thế nào tôi có thể thiết lập một lớp học cho li tag để tạo kiểu cho nó sau đó?
Tôi biết rằng tôi có thể echo formElementErrors với thuộc tính lớp mong muốn qua ..
<?php echo $this->formElementErrors($form->get("Name"), array('class' => "valuerequired", 'message' => "errortestmessage")); ?>
..nhưng FormRow vẫn sẽ làm cho thông báo lỗi mà không có lớp.
Chỉ cần để tham khảo cách thiết lập các tổ chức theo cách này Tôi đang:
public function getInputFilter()
{
if (!$this->inputFilter) {
$inputFilter = new InputFilter();
$factory = new InputFactory();
$inputFilter->add($factory->createInput(array(
'name' => 'Name',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'min' => 1,
'max' => 100,
),
),
),
)));
$this->inputFilter = $inputFilter;
}
return $this->inputFilter;
}
+1 Chỉ để xác nhận, điều này đang làm việc. Cảm ơn một lần nữa sam :) – webcoder
Đây là loại của một chủ đề cũ, nhưng chỉ để thêm hai xu của tôi: một cách khác để đăng ký này là thêm một mục vào 'view_helpers => invokables' trong tập tin module.config.php của bạn thay vì thực tế Module.php. Hiệu ứng tương tự, phương pháp khác nhau. – blainarmstrong