0

ユーザー登録フォームがあるとします。パスワードは md5 エンコードで保存する必要があるため、赤字で変換することをお勧めしますrequestが、読み取り専用に見えます。処理中にフォームフィールドを変更するには?

4

1 に答える 1

1

フォームにはカスタムバリデーターを使用できます。次のようなクラスを作成します。

<?php

class encodeValidator extends sfValidatorBase
{
  /**
  * @see sfValidatorBase
  */
  protected function doClean($value)
  {
     return md5($value); //md5 can be replaced with another encoding method
  }
}

次に、フォームを作成するときに、次のように、作成したカスタムバリデーターを追加します。

$this->setWidget('field_name', new sfWidgetFormInputText());
$this->validatorSchema['field_name'] = new encodeValidator();
于 2012-12-26T21:28:14.067 に答える