我使用Drupal将一个Web应用程序设置为devloping。我的表单包含两个按钮,“提交”和“清除”。如果点击“清除”按钮,我想跳过所有的验证,包括所需的字段验证。有什么办法可以做到这一点?跳过“按钮”表单字段的验证
0
A
回答
1
当我需要一个表单重置按钮,这是我做的。
在您的形式(或form_alter)代码添加以下内容:
`$form['clear'] = array(
'#name' => 'reset',
'#type' => 'submit',
'#value' => t('Reset'),
'#id' => 'edit-reset-button',
'#validate' => array('form_clear'),
);`
添加清除功能(使用一个简单的取消设置和重定向):
`function form_clear($form, &$form_state) {
$form_state['rebuild'] = TRUE;
unset($form_state['values']);
drupal_goto($form['#action']);
}`
0
有一种方法可以完成你正在尝试做的事情,但它只适用于Drupal 7:当你定义“清除”表单域时,添加下面一行。
'#limit_validation_errors' => array()
该属性的文档描述为:
提供作为应验证的
$form_state['values']
份部分的阵列,这意味着未列出部分不应进行验证。在“后退”按钮的情况下,这通常用于多步表单,例如,'#limit_validation_errors' => array()
意味着不会验证任何内容,因为当前页面上的表单值将被丢弃。
从the documentation制成的例子是关于一个“后退”按钮,但同样适用于“清除”按钮,在你的情况,因为所有输入的数值被丢弃,它没有意义报告未使用的值的错误。
Drupal 6不使用该表单字段属性。
没有办法避免值被验证,特别是如果有值被标记为必需的。你不能标记这些值是必需的,并且渲染表单域以包含红色星号(这是用来标记所需值的Drupal方法),但是你应该为另一个按钮编写验证处理程序,以验证所需的值是进入。
相关问题
- 1. 在命令按钮上跳过表单验证
- 2. NSIS - InstallOptions - 跳过验证后退按钮
- 3. 跳过表单超时时的验证
- 4. 表单验证字段
- 5. 表单字段验证
- 6. jQuery表单字段验证
- 7. PHP - 表单字段验证
- 8. 验证表单与单选按钮
- 9. 通过数组验证表单验证字段
- 10. 表单验证和禁用的按钮
- 11. 提交按钮的jQuery表单验证
- 12. jQuery表单验证对于单选按钮或单选按钮
- 13. 片段onback按钮android跳过片段
- 14. 如何验证其中有输入字段的单选按钮?
- 15. jQuery验证插件和Codeigniter - 表单跳过验证并提交
- 16. 如何跳过所选输入按钮的jQuery.validity验证?
- 17. 表单验证angularjs无提交按钮
- 18. 表单验证禁用按钮
- 19. Rails - 如何验证单选按钮和文本字段值?
- 20. jquery验证单选按钮
- 21. 验证单选按钮
- 22. formvalidation单选按钮验证
- 23. 单选按钮验证:javascript
- 24. 验证单选按钮
- 25. jquery验证单选按钮
- 26. 验证单选按钮组
- 27. 单选按钮验证
- 28. 验证单选按钮
- 29. jquery单选按钮验证
- 30. JQuery的表单验证 - 基于其他表单字段验证表单
@kiamlaluno ...什么ü说是正确的。在Drupal 7中,它是可能的,但我找到了drupal6的一个解决方案也... ..推荐这个..http://drupalmodules.com/module/skip-required-validation – user731060
该模块的项目页面说:“This模块不支持,请改用http://drupal.org/project/skip_validation。“ – kiamlaluno