[英]drupal javascript API & form set error
1.有沒有一種方法可以在客戶端執行form_set_error,所以如果javascript驗證有錯誤,它將設置錯誤,並且不會讓用戶處理其他步驟? 可以禁用js,所以我要格外小心...
drupal javascript函數參考(如Drupal.t和東西)的完整列表在哪里?
如何更改表單設置錯誤的錯誤消息(默認錯誤如{fieldname ... field是必填項}?
我該怎么辦將顯示在字段下方/上方/行內的錯誤?
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.