【问题标题】:Symfony 1.4 validatorSymfony 1.4 验证器
【发布时间】:2012-04-28 15:58:31
【问题描述】:

我对 symfony 1.4 验证器有疑问

我想编写自己的验证器,但我有一个小问题。

我的错误信息和表单配置中的值一样

我的代码

class sfValidatorDefaultString extends sfValidatorString{

  protected function configure($options = array(), $messages = array())
  {
    parent::configure($options, $messages);

    $this->addMessage('default_string', 'Error message');

    $this->addOption('default_string');
  }
  protected function doClean($value)
  {
    $clean = parent::doClean($value);

    // tutaj utknąłem 
    if(in_array($value, $this->getOptions('default_string')))
    {
         throw new sfValidatorError($this, 'default_string', array('value' => $value['name'], 'default_string' => $this->getOption('default_string')));
    }

    return $clean;
  }
}

【问题讨论】:

  • 我不明白你的问题.. 你能更明确一点吗?
  • 'ContactForm 'name' => new sfValidatorDefaultString(array(), array( 'default_string' => 'name')), ' 当用户在输入'name'中写入他应该有的名字错误:'错误消息',但现在他将有错误:'名称'
  • 另一个如何使用 $this->addMessage('default_string', 'Error message');在 throw new sfValidatorError($this, 'here'
  • 编辑您的问题以使相关代码更加突出

标签: symfony1 symfony-1.4 customvalidator


【解决方案1】:

当您在表单上遇到错误时,您始终会看到相关的小部件(此处为 name)和该小部件的错误消息(此处为 Error message)。

如何在模板中显示错误?使用自定义方式还是常用方式(使用<?php echo $form ?>)?

对于addMessagesfValidatorError,当symfony 抛出sfValidatorError 时,第二个参数是错误代码。它将尝试查找您在配置中明确定义的此错误代码的消息:

$this->addMessage('default_string', 'Error message');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多