[英]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.