繁体   English   中英

drupal javascript API和表单设置错误

[英]drupal javascript API & form set error

1.有没有一种方法可以在客户端执行form_set_error,所以如果javascript验证有错误,它将设置错误,并且不会让用户处理其他步骤? 可以禁用js,所以我要格外小心...

  1. drupal javascript函数参考(如Drupal.t和东西)的完整列表在哪里?

  2. 如何更改表单设置错误的错误消息(默认错误如{fieldname ... field是必填项}?

  3. 我该怎么办将显示在字段下方/上方/行内的错误?

JavaScript的在Drupal ,涵盖了Drupal的的JavaScript API,AHAH形式,和你找的那种东西。 快速入门指南非常好。

至于验证,您是对的,可以关闭Javascript。 JavaScript验证主要是为了提高可用性,因为用户不必等待POST表单即可收到错误消息。 例如,JavaScript会在提交表单之前实时告知他密码是否太弱或电子邮件无效。

但是,JavaScript验证不利于安全性。 那是您需要进行服务器端验证的地方。 form_set_error将负责服务器端验证。

所以,如果你有一个看起来像一个表格:

function form_foo($form_state) {
    $form['foo'] = array(
      '#type' => 'textfield',
      '#title' => t('bar'),
      '#default_value' => $object['foo'],
      '#size' => 60,
      '#maxlength' => 64,
      '#description' => t('baz'),
    );
    return $form;
}

服务器端验证如下所示:

function form_foo_validate($form, &$form_state) {
  if (empty($form_state['values']['foo'])) {
    form_set_error('foo', t('Foo cannot be empty.'));
  }
}

如果在表格栏文本框确实是空的,当用户提交表单栏将被强调的,“富不能为空”会出现错误消息,并且形式_submit钩子将不会被调用。

对于JavaScript功能, Drupal JavaScript API概述文档包含您将需要的大多数信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM