【发布时间】:2019-01-20 11:32:15
【问题描述】:
我在 Drupal 8 中创建了一个 List(text) 类型的字段 "Cars",其中包含这些值
0|Lambo
1|MER
2|BMW
3|Aston
4|Range Rover
5|Limo
我已选择 "- None -" 作为默认值,并且我没有通过单击 drupal 编辑设置中的复选框使该字段成为必需,我想通过 JQuery 使该字段成为必需。
我已经尝试过 Jquery 代码:-
jQuery('#edit-field-secondary-waste-type').prop('required', true);
预期的结果是该字段是必需的,但实际上它不起作用,并且表单正在以 "None" 值保存,因为它被设置为默认值。
【问题讨论】:
-
需要使用 jQuery 而不是通过 UI 选择的默认 Drupal 的任何特殊原因?
-
是的,因为他的领域是次要的。默认情况下是隐藏的,在某些特定条件下它会变得可见,所以我无法使用 drupal UI 使其成为必需。
-
好吧,这听起来像是可以用conditional fields 处理的。如果您需要更多自定义解决方案,可以使用hook_form_alter 和表单states 完成。我猜想使用 jQuery 方法“无”仍然是一个值(它不像用户没有选择任何东西)并且因为它传递了表单并且字段保存了默认值。有关更详细的答案,我应该有更多信息。
-
是的,你和我完全一致。文本字段可以用jquery方法设置,但是文件和选择字段需要在“表单验证”功能中进行验证。
标签: javascript php jquery html drupal