You are here

3.2 set_error

admin 的头像
Submitted by admin on 星期一, 2015-09-21 01:39

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

其中set_error使得错误消息的设置更加简单,一句话就能将错误消息设置好了,通常使用这样的代码设置错误消息:

$this->set_error($token);

    token_help则是用来在错误消息里面支持占位符(令牌)替换模式的,就是用户在自定义错误消息里面,可以输入可用的占位符,这些占位符最后被替换为相应的变量值。这个技术在Views里面经常遇到,在Field validation的问题列表中,也有相应的功能支持请求。我们来看一下set_error这个函数的代码:

  public function set_error($tokens = array()) {

    $error_element = $this->get_error_element();

    $error_message = $this->get_error_message();

    $tokens += array(

      '[entity-type]' => $this->rule->entity_type, 

      '[bundle]' => $this->rule->bundle, 

      '[field-name]' => $this->instance['label'], 

      '[value]' => $this->value, 

    );

    $error_message = strtr($error_message, $tokens);

    form_set_error($error_element,  check_plain($error_message));

  }

    这里的占位符机制,使用的是strtr,而不是Drupal核心的token系统,因为我们的这个占位符机制比较简单,直接使用strtr就满足我们的需求了。

get_default_settings是用来获取默认设置的,在编辑验证规则的时候,会用到,这是一个帮助函数。


Drupal版本: