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