Điểm:-2

Thay đổi trạng thái bắt buộc bằng cách chọn hộp kiểm

lá cờ jp

Tôi có trường hình ảnh và hộp kiểm trong biểu mẫu chỉnh sửa nút của mình. Tôi muốn trường hình ảnh được yêu cầu khi hộp kiểm không được chọn. Và tôi muốn trường hình ảnh không bắt buộc khi hộp kiểm được chọn.

Tôi có thể làm cái này như thế nào?

leymannx avatar
lá cờ ne
Điều này có trả lời câu hỏi của bạn không: [Làm cách nào tôi có thể tạo thành phần biểu mẫu bắt buộc với trạng thái?](https://drupal.stackexchange.com/q/14173/15055)
Joost avatar
lá cờ jp
Vì vậy, việc sử dụng #states để tạo trường bắt buộc là không thể. Tôi nên tìm ra cách để tạo xác thực của riêng mình. Cảm ơn
leymannx avatar
lá cờ ne
`#states` để tạo một trường bắt buộc là có thể, và thật dễ dàng. Nhưng nó yêu cầu JS và việc xác thực sẽ được thực hiện trong trình duyệt. Nếu điều đó phù hợp với bạn, bởi vì toàn bộ trang web của bạn sẽ không hoạt động nếu không có JS, thật tuyệt. Ngoài ra, bạn sẽ triển khai lệnh gọi lại `#element_validate` và thực hiện xác thực trong PHP. Phụ thuộc một chút vào mức độ quan trọng của hình thức và yêu cầu.
Joost avatar
lá cờ jp
@leymannx Xác thực JS phù hợp với trường hợp sử dụng mà tôi đang làm việc. Nhưng làm cách nào tôi có thể thực hiện công việc này cho trường hình ảnh?
Điểm:1
lá cờ ge

Đối với trường hình ảnh, hãy sử dụng #states, điều này sẽ khiến trường bắt buộc dựa trên hộp kiểm có được nhấp hay không. Kiểm tra đây để biết thêm thông tin

'#states' => mảng (
  'bắt buộc' => mảng (
    :input[name="TÊN CỦA TRƯỜNG"]' => mảng('giá trị' => 'GIÁ TRỊ CỦA TRƯỜNG'),
  ),
),
Joost avatar
lá cờ jp
Cảm ơn điều này đã giúp rất nhiều. Tôi có một câu hỏi mặc dù. Tại phần [này](https://www.drupal.org/docs/drupal-apis/form-api/conditional-form-fields#staterequired) của liên kết mà bạn cung cấp, họ nói rằng yêu cầu đó là trường hợp đặc biệt. Có một ví dụ về điều này cho trường tự động hoàn thành. Nhưng làm cách nào để nhắm mục tiêu trường đầu vào thực tế của trường hình ảnh?
Ajay Reddy avatar
lá cờ ge
Bạn có thể thêm cấu trúc biểu mẫu của bạn ở đây (mã) để chúng tôi có thể giúp bạn không.
Joost avatar
lá cờ jp
Nó không hơn gì một hộp kiểm thông thường và một trường hình ảnh thông thường từ lõi Drupal, được thêm vào một loại nội dung. Bạn muốn xem phần mã nào, html?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.