簡體   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