#cây
Tạo một hệ thống phân cấp các giá trị trong trình xử lý gửi biểu mẫu.
So sánh:
chức năng công khai buildForm(mảng $form, FormStateInterface $form_state) {
$form['thùng chứa'] = [
'#type' => 'thùng chứa',
];
$form['container']['some_value'] = [
'#type' = >'trường văn bản',
];
// Các nút gửi, v.v. không được hiển thị
trả về biểu mẫu $;
}
Điều này sẽ tạo ra một phần tử biểu mẫu. Sau khi nhấp vào gửi, khóa của thành phần biểu mẫu được sử dụng để trả về giá trị. trong trường hợp này, chìa khóa là some_value
, nghĩa là trình xử lý xác thực và gửi có thể truy xuất giá trị đã gửi với form_state->getValue('some_value')
.
Bây giờ, thêm #cây
đến thùng chứa:
chức năng công khai buildForm(mảng $form, FormStateInterface $form_state) {
$form['container'] = [
'#type' => 'thùng chứa',
'#cây' => ĐÚNG,
];
$form['container']['some_value'] = [
'#type' = >'trường văn bản',
];
// Các nút gửi, v.v. không được hiển thị
trả về biểu mẫu $;
}
Với sự thay đổi này, $form_state->getValue('some_value')
sẽ không trả lại gì, vì giá trị bây giờ là một phần của phần tử vùng chứa (phần #cây
phần tử) và cần được truy xuất liên quan đến phần tử đó:
// Trả về một mảng với một khóa duy nhất, 'some_value', chứa giá trị
// giá trị đã gửi.
$form_state->getValue('container')
// Trả về giá trị đã gửi:
$form_state->getValue(['container', 'some_value'])